Replies: 1 comment 4 replies
-
Hi @Shuzunyun You appear to be using a version of LISF that is several years old. Can you please update to the latest public-7.5 release, Once you are updated, you won't need to edit default.cfg or LIS_DAobs_pluginMod.F90. However, you will need to add those |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I want to turn on “GCOMW AMSR2 L3 soil moisture” assimilation and run with Noah-MP 3.6, so I first added the following lines:
[DA OBS GCOMW_AMSR2L3sm]
enabled: True
macro: DA_OBS_GCOMW_AMSR2L3sm
path: dataassim/obs/GCOMW_AMSR2L3sm
in default.cfg. I then added the following lines:
call registerlsmdainit(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_dasoilm_init)
call registerlsmdagetstatevar(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_getsoilm)
call registerlsmdasetstatevar(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_setsoilm)
call registerlsmdagetobspred(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_getsmpred)
call registerlsmdaqcstate(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_qcsoilm)
call registerlsmdaqcobsstate(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_qc_soilmobs)
call registerlsmdascalestatevar(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_scale_soilm)
call registerlsmdadescalestatevar(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_descale_soilm)
call registerlsmdaupdatestate(trim(LIS_noahmp36Id)//"+"//&
trim(LIS_GCOMW_AMSR2L3smobsId)//char(0),noahmp36_updatesoilm)
in LIS_lsmda_pluginMod.F90. I also added the following lines:
#if ( defined DA_OBS_GCOMW_AMSR2L3sm )
external read_GCOMW_AMSR2L3sm, write_GCOMW_AMSR2L3smobs
#endif
and
#if ( defined DA_OBS_GCOMW_AMSR2L3sm )
!GCOMW AMSR2 L3 snow depth
call registerdaobsclass(trim(LIS_GCOMW_AMSR2L3smobsId),"LSM")
call registerdaobssetup(trim(LIS_GCOMW_AMSR2L3smobsId)//char(0), &
GCOMW_AMSR2L3sm_setup)
call registerreaddaobs(trim(LIS_GCOMW_AMSR2L3smobsId)//char(0), &
read_GCOMW_AMSR2L3sm)
call registerwritedaobs(trim(LIS_GCOMW_AMSR2L3smobsId)//char(0), &
write_GCOMW_AMSR2L3smobs)
#endif
in LIS_DAobs_pluginMod.F90. But I still get the following mistake:
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:289:20:
289 | grid=LIS_ensOnGrid(n),name="Observation"//vid(1)//vid(2),&
| 1
Error: Function ‘lis_ensongrid’ at (1) has no IMPLICIT type; did you mean ‘lis_endofrun’?
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:351:53:
351 | GCOMW_AMSR2L3sm_struc(n)%ntimes,ngrid)
| 1
Error: Type mismatch in argument ‘k’ at (1); passed CHARACTER(1) to INTEGER(4)
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:386:52:
386 | GCOMW_AMSR2L3sm_struc(n)%model_sigma)
| 1
Error: There is no specific subroutine for the generic ‘lis_readmeansigmadata’ at (1)
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:394:50:
394 | GCOMW_AMSR2L3sm_struc(n)%obs_sigma)
| 1
Error: There is no specific subroutine for the generic ‘lis_readmeansigmadata’ at (1)
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:403:50:
403 | GCOMW_AMSR2L3sm_struc(n)%model_cdf)
| 1
Error: There is no specific subroutine for the generic ‘lis_readcdfdata’ at (1)
../dataassim/obs/GCOMW_AMSR2L3sm/GCOMW_AMSR2L3sm_Mod.F90:412:48:
412 | GCOMW_AMSR2L3sm_struc(n)%obs_cdf)
| 1
Error: There is no specific subroutine for the generic ‘lis_readcdfdata’ at (1)
make: *** [Makefile:140:GCOMW_AMSR2L3sm_Mod.o]
Can anyone tell me which step I missed? Thanks a lot!
LIS_DAobs_pluginMod.txt

LIS_lsmda_pluginMod.txt
default.cfg.txt.txt
Beta Was this translation helpful? Give feedback.
All reactions