Ignore:
Timestamp:
Feb 1, 2026, 8:52:37 PM (4 weeks ago)
Author:
evignon
Message:

replayisation des routines des ondes de gravité (gwd=gravity wave drag)
ATTENTION:

  • la convergence est perdue en mode prod a cause de refactorisations. J'ai convergence en debug chez moi qui doit être confirmee par un contrôle qualité en debug
  • je perds la compilation avec isotopes mais j'attends l'aval des isotopistes pour une commettre une solution minimaliste
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.f90

    r6058 r6059  
    2323       alp_offset)
    2424
    25 USE yoegwd_mod_h
    2625
    2726        USE compbl_mod_h
     
    198197    LOGICAL, SAVE :: ok_lic_cond_omp
    199198    !
    200     REAL, SAVE    :: nm_oro_t_omp, zstd_orodr_t_omp
    201     REAL, SAVE    :: zpmm_orodr_t_omp, zpmm_orolf_t_omp
    202199    INTEGER, SAVE :: iflag_cycle_diurne_omp
    203200    LOGICAL, SAVE :: soil_model_omp,liqice_in_radocond_omp
     
    212209    REAL,SAVE :: fseaN_omp, fseaS_omp
    213210    !GG
    214     LOGICAL, SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
     211    LOGICAL, SAVE :: ok_limitvrai_omp
    215212    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
    216213    INTEGER, SAVE :: nbapp_cv_omp, nbapp_wk_omp
     
    218215    LOGICAL, SAVE :: ok_conserv_q_omp
    219216    LOGICAL,SAVE  :: ok_strato_omp
    220     LOGICAL,SAVE  :: ok_hines_omp, ok_gwd_rando_omp
    221     REAL, SAVE    :: gwd_rando_ruwmax_omp, gwd_rando_sat_omp
    222     REAL, SAVE    :: gwd_front_ruwmax_omp, gwd_front_sat_omp
    223     REAL, SAVE    :: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp
    224     REAL, SAVE    :: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp
    225217    LOGICAL, SAVE :: ok_qch4_omp
    226218    LOGICAL, SAVE :: carbon_cycle_tr_omp
     
    10311023    CALL getin('fseaS', fseaS_omp)
    10321024
    1033     !GG
    1034 
    1035     !Config  Key  = ok_orodr
    1036     !Config  Desc = Orodr ???
    1037     !Config  Def  = y
    1038     !Config  Help = Y en a pas comprendre !
    1039     !Config         
    1040     ok_orodr_omp = .TRUE.
    1041     CALL getin('ok_orodr',ok_orodr_omp)
    1042 
    1043     !Config  Key  =  ok_orolf
    1044     !Config  Desc = Orolf ??
    1045     !Config  Def  = y
    1046     !Config  Help = Connais pas !
    1047     ok_orolf_omp = .TRUE.
    1048     CALL getin('ok_orolf', ok_orolf_omp)
    1049 
    1050 
    1051     !Config  Key  =  nm_oro_t
    1052     !Config  Desc = nm_oro_t
    1053     !Config  Def  = -1
    1054     !Config  Help = Connais pas !
    1055     nm_oro_t_omp = -1.
    1056     CALL getin('nm_oro_t', nm_oro_t_omp)
    1057 
    1058     !Config  Key  =  zstd_orodr_t
    1059     !Config  Desc = zstd_orodr_t
    1060     !Config  Def  = 0.
    1061     !Config  Help = Connais pas !
    1062     zstd_orodr_t_omp = 10.
    1063     CALL getin('zstd_orodr_t', zstd_orodr_t_omp)
    1064 
    1065 
    1066     !Config  Key  =  zpmm_orodr_t
    1067     !Config  Desc = zpmm_orodr_t
    1068     !Config  Def  = 0.
    1069     !Config  Help = Connais pas !
    1070     zpmm_orodr_t_omp = 100.
    1071     CALL getin('zpmm_orodr_t', zpmm_orodr_t_omp)
    1072 
    1073 
    1074     !Config  Key  =  zpmm_orolf_t
    1075     !Config  Desc = zpmm_orolf_t
    1076     !Config  Def  = 0.
    1077     !Config  Help = Connais pas !
    1078     zpmm_orolf_t_omp = 100.
    1079     CALL getin('zpmm_orolf_t', zpmm_orolf_t_omp)
     1025
     1026
    10801027
    10811028    !Config  Key  = ok_limitvrai
     
    20211968    ok_strato_omp=.FALSE.
    20221969    CALL getin('ok_strato',ok_strato_omp)
    2023 
    2024     !Config  key = ok_hines
    2025     !Config  Desc = activation de la parametrisation de hines
    2026     !Config  Def  = .FALSE.
    2027     !Config  Help = Clefs controlant la parametrization de Hines
    2028 
    2029     ok_hines_omp=.FALSE.
    2030     CALL getin('ok_hines',ok_hines_omp)
    2031 
    2032     !  Parametres pour les ondes de gravite
    2033     ! 
    2034     !  Subgrid Scale Orography (Lott Miller (1997), Lott (1999))
    2035 
    2036     sso_gkdrag_omp = merge(0.1875, 0.2, ok_strato_omp)
    2037     CALL getin('sso_gkdrag', sso_gkdrag_omp)
    2038 
    2039     sso_grahil_omp=merge(0.1,1.,ok_strato_omp)
    2040     CALL getin('sso_grahil', sso_grahil_omp)
    2041 
    2042     sso_grcrit_omp =merge(1.,0.01,ok_strato_omp)
    2043     CALL getin('sso_grcrit', sso_grcrit_omp)
    2044 
    2045     sso_gfrcri_omp = 1.
    2046     CALL getin('sso_gfrcri', sso_gfrcri_omp)
    2047 
    2048     sso_gkwake_omp = 0.50
    2049     CALL getin('sso_gkwake', sso_gkwake_omp)
    2050 
    2051     sso_gklift_omp = merge(0.25,0.50,ok_strato_omp)
    2052     CALL getin('sso_gklift', sso_gklift_omp)
    2053 
    2054     ! Random gravity waves:
    2055 
    2056     ok_gwd_rando_omp = .FALSE.
    2057     IF ( klon_glo == 1 ) THEN
    2058        print*,'La parametrisation des ondes de gravites non orographiques'
    2059        print*,'ne fonctionne pas en 1D'
    2060     ELSE
    2061        CALL getin('ok_gwd_rando', ok_gwd_rando_omp)
    2062     ENDIF
    2063 
    2064     gwd_rando_ruwmax_omp = 2.00
    2065     CALL getin('gwd_rando_ruwmax', gwd_rando_ruwmax_omp)
    2066 
    2067     gwd_rando_sat_omp = 0.25
    2068     CALL getin('gwd_rando_sat', gwd_rando_sat_omp)
    2069 
    2070     gwd_front_ruwmax_omp = 2.50
    2071     CALL getin('gwd_front_ruwmax', gwd_front_ruwmax_omp)
    2072 
    2073     gwd_front_sat_omp = 0.60
    2074     CALL getin('gwd_front_sat', gwd_front_sat_omp)
    20751970
    20761971
     
    23042199    si_pen_ext = si_pen_ext_omp
    23052200    si_pen_frac = si_pen_frac_omp
    2306 ! GG
    2307 
    2308     ok_orodr = ok_orodr_omp
    2309     ok_orolf = ok_orolf_omp
    2310     nm_oro_t=nm_oro_t_omp
    2311     zstd_orodr_t=zstd_orodr_t_omp
    2312     zpmm_orodr_t=zpmm_orodr_t_omp
    2313     zpmm_orolf_t=zpmm_orolf_t_omp
     2201
    23142202    ok_limitvrai = ok_limitvrai_omp
    23152203    nbapp_rad = nbapp_rad_omp
     
    24962384    z0min=z0min_omp
    24972385    tmax_fonte_cv = tmax_fonte_cv_omp
    2498 
    2499     gkdrag=sso_gkdrag_omp
    2500     grahilo=sso_grahil_omp
    2501     grcrit=sso_grcrit_omp
    2502     gfrcrit=sso_gfrcri_omp
    2503     gkwake=sso_gkwake_omp
    2504     gklift=sso_gklift_omp
    2505 
    25062386    ok_strato = ok_strato_omp
    2507     ok_hines = ok_hines_omp
    2508     ok_gwd_rando = ok_gwd_rando_omp
    2509     gwd_rando_ruwmax = gwd_rando_ruwmax_omp
    2510     gwd_rando_sat = gwd_rando_sat_omp
    2511     gwd_front_ruwmax = gwd_front_ruwmax_omp
    2512     gwd_front_sat = gwd_front_sat_omp
    25132387    ok_qch4 = ok_qch4_omp
    25142388    ok_LES = ok_LES_omp
     
    27082582    WRITE(lunout,*) ' soil_model=',soil_model
    27092583    WRITE(lunout,*) ' liqice_in_radocond=',liqice_in_radocond
    2710     WRITE(lunout,*) ' ok_orodr=',ok_orodr
    2711     WRITE(lunout,*) ' ok_orolf=',ok_orolf
    2712     WRITE(lunout,*) ' nm_oro_t=',nm_oro_t
    2713     WRITE(lunout,*) ' zstd_orodr_t=',zstd_orodr_t
    2714     WRITE(lunout,*) ' zpmm_orodr_t=',zpmm_orodr_t
    2715     WRITE(lunout,*) ' zpmm_orolf_t=',zpmm_orolf_t
    27162584    WRITE(lunout,*) ' ok_limitvrai=',ok_limitvrai
    27172585    WRITE(lunout,*) ' nbapp_rad=',nbapp_rad
     
    28272695
    28282696    WRITE(lunout,*) ' ok_strato = ', ok_strato
    2829     WRITE(lunout,*) ' ok_hines = ',  ok_hines
    2830     WRITE(lunout,*) ' ok_gwd_rando = ',  ok_gwd_rando
    28312697    WRITE(lunout,*) ' ok_qch4 = ',  ok_qch4
    2832     WRITE(lunout,*) ' gwd_rando_ruwmax = ', gwd_rando_ruwmax
    2833     WRITE(lunout,*) ' gwd_rando_sat = ', gwd_rando_sat
    2834     WRITE(lunout,*) ' gwd_front_ruwmax = ', gwd_front_ruwmax
    2835     WRITE(lunout,*) ' gwd_front_sat = ', gwd_front_sat
    2836     WRITE(lunout,*) ' SSO gkdrag =',gkdrag
    2837     WRITE(lunout,*) ' SSO grahilo=',grahilo
    2838     WRITE(lunout,*) ' SSO grcrit=',grcrit
    2839     WRITE(lunout,*) ' SSO gfrcrit=',gfrcrit
    2840     WRITE(lunout,*) ' SSO gkwake=',gkwake
    2841     WRITE(lunout,*) ' SSO gklift=',gklift
    28422698    WRITE(lunout,*) ' adjust_tropopause = ', adjust_tropopause
    28432699    WRITE(lunout,*) ' ok_daily_climoz = ',ok_daily_climoz
Note: See TracChangeset for help on using the changeset viewer.