ACCORD-NWP / DAVAI-tests

DAVAÏ tests templates and config files
Other
0 stars 9 forks source link

Harmonie-Arome test #40

Open AlexandreMary opened 4 days ago

AlexandreMary commented 4 days ago

Introduction of a standalone Harmonie-Arome test. Step 1: start from the Arome test and switch namelists (fort.4 + SURFEX) Step 2: setting up representative initial conditions and LBCs (from IFS)

romick-knmi commented 4 days ago

At current moment, using a Harmonie-Arome fort.4 namelist from the default CY49T2 3DVAR case causes an immediate crash.

Using gdb to examine a core file gives the following traceback:

(gdb) bt 
#0  0x0000149bf13b2acf in raise () from /lib64/libc.so.6
#1  0x0000149bf1385f6e in abort () from /lib64/libc.so.6
#2  0x0000149bf3b8aa28 in for.issue_diagnostic () from /usr/local/apps/intel/2023.2.0/compiler/latest/linux/compiler/lib/intel64/libifcoremt.so.5
#3  0x0000149bf3b9cfe8 in for.signal_handler () from /usr/local/apps/intel/2023.2.0/compiler/latest/linux/compiler/lib/intel64/libifcoremt.so.5
#4  <signal handler called>
#5  0x0000149bf13b2acf in raise () from /lib64/libc.so.6
#6  0x0000149bf1385ea5 in abort () from /lib64/libc.so.6
#7  0x0000149bf3b8aa28 in for.issue_diagnostic () from /usr/local/apps/intel/2023.2.0/compiler/latest/linux/compiler/lib/intel64/libifcoremt.so.5
#8  0x0000149bf3b8b867 in for.io_return () from /usr/local/apps/intel/2023.2.0/compiler/latest/linux/compiler/lib/intel64/libifcoremt.so.5
#9  0x0000149bf3bc64b1 in for_read_seq_nml () from /usr/local/apps/intel/2023.2.0/compiler/latest/linux/compiler/lib/intel64/libifcoremt.so.5
#10 0x00000000069ebc25 in modd_param_ice_n::param_icen_init (hprogram=<error reading variable: Cannot access memory at address 0x2>, kunitnml=0, 
    ldneednam=<error reading variable: Cannot access memory at address 0x0>, kluout=613190472, lddefaultval=<error reading variable: Cannot access memory at address 0x0>, 
    ldreadnam=.FALSE., ldcheck=<error reading variable: Cannot access memory at address 0x0>, kprint=0, .tmp.HPROGRAM.len_V$149=6) at modd_param_icen.F90:396
#11 0x000000000680e728 in ini_phyex (hprogram=<error reading variable: Cannot access memory at address 0x2>, kunitnml=0, 
    ldneednam=<error reading variable: Cannot access memory at address 0x0>, kluout=613190472, kfrom=<error reading variable: Cannot access memory at address 0x0>, kto=0, ptstep=60, 
    pdzmin=20, cmicro=..., csconv=..., cturb=..., ldchangemodel=<error reading variable: Cannot access memory at address 0x0>, 
    lddefaultval=<error reading variable: Cannot access memory at address 0x0>, ldreadnam=<error reading variable: Cannot access memory at address 0x0>, 
    ldcheck=<error reading variable: Cannot access memory at address 0x0>, kprint=0, ldinit=<error reading variable: Cannot access memory at address 0x0>, 
    phyex_in=<error reading variable: Cannot access memory at address 0x858>, phyex_out=..., .tmp.HPROGRAM.len_V$1348=6, .tmp.CMICRO.len_V$1351=4, .tmp.CSCONV.len_V$1353=4, 
    .tmp.CTURB.len_V$1355=4) at ini_phyex.F90:139
#12 0x0000000002076b97 in suphmpa (ydgeometry=<error reading variable: Cannot access memory at address 0x52>, ydlddh=..., 
    ydml_gconf=<error reading variable: Location address is not set.>, yddyna=..., ydml_phy_mf=<error reading variable: Cannot access memory at address 0x13b0>, kulout=0)
    at suphmpa.F90:130
#13 0x0000000002076991 in suphmf (ydgeometry=<error reading variable: Cannot access memory at address 0x52>, 
    ydmodel=<error reading variable: value of type `model' requires 10193224 bytes, which is more than max-value-size>, 
    kulout=<error reading variable: Cannot access memory at address 0x0>) at suphmf.F90:115
#14 0x00000000012e64d2 in suphy (ydgeometry=<error reading variable: Cannot access memory at address 0x52>, 
    ydmodel=<error reading variable: value of type `model' requires 10193224 bytes, which is more than max-value-size>, 
    kulout=<error reading variable: Cannot access memory at address 0x0>) at suphy.F90:76
#15 0x00000000010a8374 in su0yomb (ydfpos=<error reading variable: Cannot access memory at address 0x1c2>, ydgeometry=..., 
    ydfields=<error reading variable: Cannot access memory at address 0x50>, ydmtraj=..., ydmodel=<error reading variable: Cannot access memory at address 0x8>, ydjot=..., 
    ydvarbc=..., ydtcv=..., ydtcv_bgc=..., ydodb=0x149bd8284100) at su0yomb.F90:565
#16 0x0000000000426eb9 in cnt0 (ldcoupactive=<error reading variable: Cannot access memory at address 0x2>, kcomm=0) at cnt0.F90:189
#17 0x000000000041c00d in master () at master.F90:260
#18 0x000000000041b93d in main ()
#19 0x0000149bf139ed85 in __libc_start_main () from /lib64/libc.so.6
#20 0x000000000041b85e in _start ()
romick-knmi commented 3 days ago

The previously listed error came from trying to include a variable (LKOGAN) in the namelist NAM_PARAM_ICEN which does not exist in the main trunk of the IAL code yet.

romick-knmi commented 3 days ago

Next issue : In the namelist NAM_PARAM_MFSHALLN, the variable CMF_UPDRAFT='DUAL', is not yet supported in the main trunk of the IAL code. This is a main tenet of the HARMONIE-AROME physics, so the check in phyex/turb/modd_param_mfshalln.F90 will be updated.

nlcr@ac6-102:~/git/github/romick-knmi/IAL (romick-knmi_CY50tag)$ git diff hirlam/dev-CY49T2h -- phyex/turb/modd_param_mfshalln.F90
diff --git a/phyex/turb/modd_param_mfshalln.F90 b/phyex/turb/modd_param_mfshalln.F90
index 240c0a5b38..664812c582 100644
--- a/phyex/turb/modd_param_mfshalln.F90
+++ b/phyex/turb/modd_param_mfshalln.F90
@@ -299,7 +299,7 @@ ENDIF
 !
 IF(LLCHECK) THEN
   CALL CHECK_NAM_VAL_CHAR(KLUOUT, 'CMF_CLOUD', CMF_CLOUD, 'NONE', 'STAT', 'DIRE', 'BIGA')
-  CALL CHECK_NAM_VAL_CHAR(KLUOUT, 'CMF_UPDRAFT', CMF_UPDRAFT, 'NONE', 'EDKF', 'RHCJ', 'RAHA', 'DUAL')
+  CALL CHECK_NAM_VAL_CHAR(KLUOUT, 'CMF_UPDRAFT', CMF_UPDRAFT, 'NONE', 'EDKF', 'RHCJ', 'RAHA')
 ENDIF
 !
 !*      3. PRINTS
romick-knmi commented 3 days ago

In addition, the Hirlam dev-CY49T2h branch is also being compiled and will be used to run the full suite tests (dv-0057-atos_bologna@nlcr). Afterwards, this DAVAI experiment will be edited to add a test for the HARMONIE-AROME namelist.

romick-knmi commented 2 days ago

With the default dev-CY49T2h branch with a slight modification to names interface files compiles with gmkpack. With the Harmonie-Arome data and namelist this runs well with the davai framework. This needs to be cleaned up and the minimal changes necessary to run the Harmonie-Arome forecast will be submitted to IAL repo and the code changes to Davai tests will also be submitted and the location of the necessary Harmonie-Arome data and namelist will be included in this future PR.