Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

How to couple CLandM via OASIS3 to another atmospheric model?

Dear,

At my home institute, we use COSMO-CLM (hereafter CCLM) as an regional climate model. At present, we would like to run this atmospheric model coupled to the Community Land Model (hereafer CLandM), in order to have a more detailed representation of the land surface. This coupling is done via the Oasis3 Coupler of which most of the coupling work has been done at CERFACS, France.

Now, compiling CCLM with addition of some oasis3 files went well. Only I now experience some problems with CLandM.
In have added a few new routines and compiler options, but in the last step (compiling ccsm) things go wrong.
I have read through the buildlog file (see attach), but I can't really find why this would not be working?

Basically this is what is done:

Some new routines are developped and added in a CASE folder SourceMods/src.share and src.drv. The script to add these files automatically to the cesm folder structure is attached (compile_coupled.txt).

Some of the routines compile well, others do not. For the latter, it seems that the Depends file in /ccsm/obj/ does not take into account all the necessary modules. For example, the send_fld_2oas.F90 routine states (see attach, renamed as .txt file):

USE shr_kind_mod , only : r8 => shr_kind_r8
USE spmdMod , only : masterproc

USE oas_clm_vardef

but when looking at Depends for send_fld_2oas.F90 I can see:
send_fld_2cos.o : send_fld_2cos.F90 oas_clm_vardef.mod shr_kind_mod.mod

so it seems that here the spmdMod.o file is missing in the list?
And it is exactly this that seems to be causing the error:

mpif90 -c -I. -I/apps/netcdf/3.6.3/include/Intel -I/apps/netcdf/3.6.3/include/Intel -I. -I/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv -I/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/models/drv/driver -I/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/lib/include -DMCT_INTERFACE -DHAVE_MPI -DLINUX -DSEQ_ -DFORTRANUNDERSCORE -DNO_R16 -DNO_SHR_VMATH -g -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -O2 -DCOUP_OAS -I/short/da0/mxd565/COSMO_CLM_OASIS_CLM/oasis3/Linux_MPI1/build/lib/psmile.MPI1 -FR /short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv/send_fld_2cos.F90
/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv/oas_clm_define.F90(37): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [SPMDMOD]
USE spmdMod , only : MPI_INTEGER
-------^
/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv/oas_clm_define.F90(85): error #6405: The same named entity from different modules and/or program units cannot be referenced. [MPI_INTEGER]
CALL MPI_Bcast( write_aux_files, 1, MPI_INTEGER, &
---------------------------------------^
/short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv/oas_clm_define.F90(250): error #6405: The same named entity from different modules and/or program units cannot be referenced. [MPI_INTEGER]
itype = MPI_INTEGER
-----------------^
compilation aborted for /short/da0/mxd565/COSMO_CLM_OASIS_CLM/cesm1_0_4/scripts/testoasclm4/SourceMods/src.drv/oas_clm_define.F90 (code 1)
gmake: *** [oas_clm_define.o] Error 1
gmake: *** Waiting for unfinished jobs....


So as a first step I would like to find out how come that this dependency is not automatically included for this (and some of the other) routines?
I hope that once I am able to solve this issue, I will be able to solve some issues with some other modified modules as well....

Kind regards,
Matthias
 
Top