Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Harmonie-Arome test #40

Open
AlexandreMary opened this issue Nov 20, 2024 · 5 comments
Open

Harmonie-Arome test #40

AlexandreMary opened this issue Nov 20, 2024 · 5 comments
Assignees

Comments

@AlexandreMary
Copy link
Contributor

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
Copy link

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
Copy link

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
Copy link

romick-knmi commented Nov 21, 2024

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
Copy link

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants