Ignore:
Timestamp:
Jul 28, 2025, 7:23:15 PM (6 days ago)
Author:
aborella
Message:

Merge with trunk r5789

Location:
LMDZ6/branches/contrails
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

  • LMDZ6/branches/contrails/libf/phylmd/conf_phys_m.f90

    r5717 r5791  
    3636    USE carbon_cycle_mod,  ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor
    3737    USE carbon_cycle_mod,  ONLY: read_fco2_land_cor,var_fco2_land_cor
    38     USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl
     38    USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl, nh3_cycle_cpl
    3939    USE mod_grid_phy_lmdz, ONLY: klon_glo
    4040    USE print_control_mod, ONLY: lunout
     
    197197    INTEGER,SAVE :: iflag_order2_sollw_omp
    198198    INTEGER, SAVE :: lev_histins_omp, lev_histLES_omp
    199     INTEGER, SAVE :: lev_histdayNMC_omp
    200     INTEGER, SAVE :: levout_histNMC_omp(3)
    201     LOGICAL, SAVE :: ok_histNMC_omp(3)
    202     REAL, SAVE    :: freq_outNMC_omp(3), freq_calNMC_omp(3)
    203199    CHARACTER*4, SAVE :: type_run_omp
    204200    LOGICAL, SAVE :: ok_cosp_omp, ok_airs_omp
     
    219215    INTEGER, SAVE :: iflag_cycle_diurne_omp
    220216    LOGICAL, SAVE :: soil_model_omp,liqice_in_radocond_omp
     217    !GG
     218    INTEGER,SAVE :: iflag_seaice_omp, iflag_seaice_alb_omp
     219    INTEGER,SAVE :: iflag_leads_omp
     220    REAL,SAVE :: sice_cond_omp, sisno_cond_omp
     221    REAL,SAVE :: sisno_den_omp, sisno_min_omp, sithick_min_omp
     222    REAL,SAVE :: sisno_wfact_omp, amax_n_omp, amax_s_omp, rn_alb_sdry_omp
     223    REAL,SAVE :: rn_alb_smlt_omp, rn_alb_idry_omp, rn_alb_imlt_omp
     224    REAL,SAVE :: si_pen_frac_omp,si_pen_ext_omp
     225    REAL,SAVE :: fseaN_omp, fseaS_omp
     226    !GG
    221227    LOGICAL, SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
    222228    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
     
    234240    LOGICAL, SAVE :: carbon_cycle_cpl_omp
    235241    LOGICAL, SAVE :: carbon_cycle_rad_omp
    236     LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp
     242    LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp, ndp_cycle_cpl_omp, nh3_cycle_cpl_omp
    237243    INTEGER, SAVE :: level_coupling_esm_omp
    238244    LOGICAL, SAVE :: read_fco2_ocean_cor_omp
     
    249255    INTEGER,SAVE  :: kz0_omp
    250256    LOGICAL, SAVE :: ok_bs_omp, ok_rad_bs_omp
     257    LOGICAL, SAVE :: ok_advtke_omp
    251258    LOGICAL, SAVE :: ok_mass_dtcon_omp, ok_mass_dqcon_omp, ok_mass_duvcon_omp
    252259
     
    878885    CALL getin('new_oliq',liqice_in_radocond_omp)
    879886    CALL getin('liqice_in_radocond',liqice_in_radocond_omp)
     887
     888    !GG
     889    !Config  Key  = iflag_seaice
     890    !Config  Desc = Flag de sea ice modele
     891    !Config  Def  = 0
     892    !Config  Help = Flag  pour sea ice thermo  les options suivantes existent :
     893    !Config         0 pour defaut,
     894    !Config         1 pour lu avec limit.nc,
     895    !Config         2 pour interactive sic
     896    iflag_seaice_omp = 0
     897    CALL getin('iflag_seaice',iflag_seaice_omp)
     898
     899    !Config  Key  = iflag_seaice_alb
     900    !Config  Desc = Flag de sea ice thickness
     901    !Config  Def  = 0
     902    !Config  Help = Flag  pour albedo sea ice les options suivantes existent :
     903    !Config         0 pour defaut,
     904    !Config         1 pour new,
     905    !Config         2 pour LIM3,
     906    iflag_seaice_alb_omp = 0
     907    CALL getin('iflag_seaice_alb',iflag_seaice_alb_omp)
     908
     909    !Config  Key  = iflag_seaice_alb
     910    !Config  Desc = Flag de sea ice leads
     911    !Config  Def  = 0
     912    !Config  Help = Flag  pour les leads les options suivantes existent :
     913    !Config         0 pour defaut,
     914    !Config         1 pour correction sur leads,
     915    iflag_leads_omp = 0
     916    CALL getin('iflag_leads',iflag_leads_omp)
     917
     918    !Config key  = sice_cond_omp
     919    !Config Desc = conductivity of ice
     920    !Config Def  = 2.17
     921    !Config Help = pour le modele de glace de mer
     922    sice_cond_omp = 2.17
     923    CALL getin('sice_cond', sice_cond_omp)
     924
     925    !Config key  = sisno_cond_omp
     926    !Config Desc = conductivity of snow
     927    !Config Def  = 0.31
     928    !Config Help = pour le modele de glace de mer
     929    sisno_cond_omp = 0.31
     930    CALL getin('sno_cond', sisno_cond_omp)
     931
     932    !Config key  = sisno_den_omp
     933    !Config Desc = density of snow
     934    !Config Def  = 300
     935    !Config Help = pour le modele de glace de mer
     936    sisno_den_omp = 300
     937    CALL getin('sisno_den', sisno_den_omp)
     938
     939    !Config key  = sisno_min
     940    !Config Desc = minimum snow thickness over sea ice
     941    !Config Def  = 0.05
     942    !Config Help = pour le modele de glace de mer
     943    sisno_min_omp = 0.05
     944    CALL getin('sisno_min', sisno_min_omp)
     945
     946    !Config key  = sithick_min
     947    !Config Desc = minimum sea ice thickness
     948    !Config Def  = 0.10
     949    !Config Help = pour le modele de glace de mer
     950    sithick_min_omp = 0.10
     951    CALL getin('sithick_min', sithick_min_omp)
     952
     953    !Config key  = sisno_wfact
     954    !Config Desc = max fraction of falling snow blown into ocean
     955    !Config Def  = 0.4
     956    !Config Help = pour le modele de glace de mer
     957    sisno_wfact_omp = 0.4
     958    CALL getin('sisno_wfact', sisno_wfact_omp)
     959
     960    !Config key  = amax_n
     961    !Config Desc = leads fraction in NH given as a maximum sea ice concentration
     962    !Config Def  = 0.997
     963    !Config Help = pour le modele de glace de mer
     964    amax_n_omp = 0.997
     965    CALL getin('amax_n', amax_n_omp)
     966
     967    !Config key  = amax_s
     968    !Config Desc = leads fraction in SH given as a maximum sea ice concentration
     969    !Config Def  = 0.95
     970    !Config Help = pour le modele de glace de mer
     971    amax_s_omp = 0.95
     972    CALL getin('amax_s', amax_s_omp)
     973
     974    !Config key  = rn_alb_sdry
     975    !Config Desc = dry snow over sea ice albedo
     976    !Config Def  = 0.85
     977    !Config Help = pour le modele de glace de mer
     978    rn_alb_sdry_omp = 0.85
     979    CALL getin('rn_alb_sdry', rn_alb_sdry_omp)
     980
     981    !Config key  = rn_alb_smlt
     982    !Config Desc = wet snow over sea ice albedo
     983    !Config Def  = 0.55
     984    !Config Help = pour le modele de glace de mer
     985    rn_alb_smlt_omp = 0.55
     986    CALL getin('rn_alb_smlt', rn_alb_smlt_omp)
     987
     988    !Config key  = rn_alb_idry
     989    !Config Desc = dry sea ice albedo
     990    !Config Def  = 0.75
     991    !Config Help = pour le modele de glace de mer
     992    rn_alb_idry_omp = 0.75
     993    CALL getin('rn_alb_idry', rn_alb_idry_omp)
     994
     995    !Config key  = rn_alb_imlt
     996    !Config Desc = wet sea ice albedo
     997    !Config Def  = 0.66
     998    !Config Help = pour le modele de glace de mer
     999    rn_alb_imlt_omp = 0.66
     1000    CALL getin('rn_alb_imlt', rn_alb_imlt_omp)
     1001
     1002    !Config key  = si_pen_frac
     1003    !Config Desc = fraction of shortwave penetrating into the ice
     1004    !Config Def  = 0.3
     1005    !Config Help = pour le modele de glace de mer
     1006    si_pen_frac_omp = 0.3
     1007    CALL getin('si_pen_frac', si_pen_frac_omp)
     1008
     1009    !Config key  = si_pen_ext
     1010    !Config Desc = extinction length of penetrating shortwave (m-1)
     1011    !Config Def  = 1.5
     1012    !Config Help = pour le modele de glace de mer
     1013    si_pen_ext_omp =1.5
     1014    CALL getin('si_pen_ext', si_pen_ext_omp)
     1015
     1016    !Config key  = fseaN
     1017    !Config Desc = HF from ocean below ice Northern Hemisphere
     1018    !Config Def  = 2.0
     1019    !Config Help = pour le modele de glace de mer
     1020    fseaN_omp =2.0
     1021    CALL getin('fseaN', fseaN_omp)
     1022
     1023    !Config key  = fseaS
     1024    !Config Desc = HF from ocean below ice Southern Hemisphere
     1025    !Config Def  = 4.0
     1026    !Config Help = pour le modele de glace de mer
     1027    fseaS_omp =4.0
     1028    CALL getin('fseaS', fseaS_omp)
     1029
     1030    !GG
    8801031
    8811032    !Config  Key  = ok_orodr
     
    17611912    CALL getin('lev_histLES',lev_histLES_omp)
    17621913    !
    1763     !Config Key  = lev_histdayNMC
    1764     !Config Desc =
    1765     !Config Def  = 8
    1766     !Config Help =
    1767     !
    1768     lev_histdayNMC_omp = 8
    1769     CALL getin('lev_histdayNMC',lev_histdayNMC_omp)
    1770     !
    1771     !Config Key  = levout_histNMC
    1772     !Config Desc =
    1773     !Config Def  = 5
    1774     !Config Help =
    1775     !
    1776     levout_histNMC_omp(1) = 5
    1777     levout_histNMC_omp(2) = 5
    1778     levout_histNMC_omp(3) = 5
    1779     CALL getin('levout_histNMC',levout_histNMC_omp)
    1780     !
    1781     !histNMC BEG
    1782     !Config Key  = ok_histNMC
    1783     !Config Desc = ok_histNMC(1) = frequence de sortie fichiers histmthNMC
    1784     !Config Desc = ok_histNMC(2) = frequence de sortie fichiers histdayNMC
    1785     !Config Desc = ok_histNMC(3) = frequence de sortie fichiers histhfNMC
    1786     !Config Def  = n, n, n
    1787     !Config Help =
    1788     !
    1789     ok_histNMC_omp(1) = .FALSE.
    1790     ok_histNMC_omp(2) = .FALSE.
    1791     ok_histNMC_omp(3) = .FALSE.
    1792     CALL getin('ok_histNMC',ok_histNMC_omp)
    1793     !
    1794     !Config Key  = freq_outNMC
    1795     !Config Desc = freq_outNMC(1) = frequence de sortie fichiers histmthNMC
    1796     !Config Desc = freq_outNMC(2) = frequence de sortie fichiers histdayNMC
    1797     !Config Desc = freq_outNMC(3) = frequence de sortie fichiers histhfNMC
    1798     !Config Def  = 2592000., 86400., 21600. (1mois, 1jour, 6h)
    1799     !Config Help =
    1800     !
    1801     freq_outNMC_omp(1) = mth_len
    1802     freq_outNMC_omp(2) = 1.
    1803     freq_outNMC_omp(3) = 1./4.
    1804     CALL getin('freq_outNMC',freq_outNMC_omp)
    1805     !
    1806     !Config Key  = freq_calNMC
    1807     !Config Desc = freq_calNMC(1) = frequence de calcul fichiers histmthNMC
    1808     !Config Desc = freq_calNMC(2) = frequence de calcul fichiers histdayNMC
    1809     !Config Desc = freq_calNMC(3) = frequence de calcul fichiers histhfNMC
    1810     !Config Def  = phys_tstep
    1811     !Config Help =
    1812     !
    1813     freq_calNMC_omp(1) = phys_tstep
    1814     freq_calNMC_omp(2) = phys_tstep
    1815     freq_calNMC_omp(3) = phys_tstep
    1816     CALL getin('freq_calNMC',freq_calNMC_omp)
    1817     !
    18181914    !Config Key  = type_run
    18191915    !Config Desc =
     
    22522348
    22532349
     2350    ok_advtke_omp = .FALSE.
     2351    CALL getin('ok_advtke', ok_advtke_omp)
     2352    !
     2353    !Config Key  = ok_advtke_omp
     2354    !Config Desc = advect tke
     2355    !Config Def  = .FALSE.
     2356    !Config Help = ...
    22542357
    22552358    ok_bs_omp = .FALSE.
     
    23232426    !
    23242427    !Config Key  = n2o_cycle_cpl
    2325     !Config Desc = receive n2o from pisces via oasis
     2428    !Config Desc = receive and send n2o from and to pisces via oasis
    23262429    !Config Def  = .FALSE.
    23272430    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
     2431   
     2432    ndp_cycle_cpl_omp=.FALSE.
     2433    CALL getin('transm_ndp_ao',ndp_cycle_cpl_omp)
     2434    !
     2435    !Config Key  = ndp_cycle_cpl
     2436    !Config Desc = send ndep to pisces via oasis
     2437    !Config Def  = .FALSE.
     2438    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
     2439
    23282440   
     2441    nh3_cycle_cpl_omp=.FALSE.
     2442    CALL getin('transm_nh3_oa',nh3_cycle_cpl_omp)
     2443    !
     2444    !Config Key  = nh3_cycle_cpl
     2445    !Config Desc = send nh3 from and to pisces via oasis
     2446    !Config Def  = .FALSE.
     2447    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
    23292448   
    23302449    !$OMP END MASTER
     
    23612480    soil_model = soil_model_omp
    23622481    liqice_in_radocond = liqice_in_radocond_omp
     2482! GG
     2483    sice_cond = sice_cond_omp
     2484    sisno_cond = sisno_cond_omp
     2485    iflag_seaice = iflag_seaice_omp
     2486    iflag_seaice_alb = iflag_seaice_alb_omp
     2487    iflag_leads = iflag_leads_omp
     2488    sisno_den = sisno_den_omp
     2489    sisno_min = sisno_min_omp
     2490    sithick_min = sithick_min_omp
     2491    sisno_wfact = sisno_wfact_omp
     2492    amax_n = amax_n_omp
     2493    amax_s = amax_s_omp
     2494    rn_alb_sdry = rn_alb_sdry_omp
     2495    rn_alb_smlt = rn_alb_smlt_omp
     2496    rn_alb_idry = rn_alb_idry_omp
     2497    rn_alb_imlt = rn_alb_imlt_omp
     2498    fseaN = fseaN_omp
     2499    fseaS = fseaS_omp
     2500    si_pen_ext = si_pen_ext_omp
     2501    si_pen_frac = si_pen_frac_omp
     2502! GG
     2503
    23632504    ok_orodr = ok_orodr_omp
    23642505    ok_orolf = ok_orolf_omp
     
    23932534    ok_bs = ok_bs_omp
    23942535    ok_rad_bs=ok_rad_bs_omp
     2536    ok_advtke=ok_advtke_omp
    23952537    rad_froid = rad_froid_omp
    23962538    rad_chau1 = rad_chau1_omp
     
    24262568    lev_histins = lev_histins_omp
    24272569    lev_histLES = lev_histLES_omp
    2428     lev_histdayNMC = lev_histdayNMC_omp
    2429     levout_histNMC = levout_histNMC_omp
    2430     ok_histNMC(:) = ok_histNMC_omp(:)
    2431     freq_outNMC(:) = freq_outNMC_omp(:)
    2432     freq_calNMC(:) = freq_calNMC_omp(:)
     2570
    24332571
    24342572    type_ocean = type_ocean_omp
     
    26102748    dms_cycle_cpl = dms_cycle_cpl_omp
    26112749    n2o_cycle_cpl = n2o_cycle_cpl_omp
     2750    ndp_cycle_cpl = ndp_cycle_cpl_omp
     2751    nh3_cycle_cpl = nh3_cycle_cpl_omp
    26122752    !rajout Olivier Torres
    26132753    kz0=kz0_omp
     
    27352875
    27362876    ! Test on chemistry cycle
    2737     IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl)  ) THEN
    2738        CALL abort_physic('conf_phys', 'dms_cycle_cpl or n2o_cycle_cpl has to be TRUE only with INCA coupling model',1)
     2877    IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl .OR. nh3_cycle_cpl )  ) THEN
     2878       CALL abort_physic('conf_phys', 'transm_dms_oa, transm_n2o_oa, transm_ndp_ao or transm_nh3_oa can be TRUE only with INCA coupling model',1)
    27392879    ENDIF
    27402880   
     
    28613001    WRITE(lunout,*) ' lev_histins = ',lev_histins
    28623002    WRITE(lunout,*) ' lev_histLES = ',lev_histLES
    2863     WRITE(lunout,*) ' lev_histdayNMC = ',lev_histdayNMC
    2864     WRITE(lunout,*) ' levout_histNMC = ',levout_histNMC
    2865     WRITE(lunout,*) ' ok_histNMC = ',ok_histNMC
    2866     WRITE(lunout,*) ' freq_outNMC = ',freq_outNMC
    2867     WRITE(lunout,*) ' freq_calNMC = ',freq_calNMC
    28683003    WRITE(lunout,*) ' iflag_pbl = ', iflag_pbl
    28693004    WRITE(lunout,*) ' iflag_physiq = ', iflag_physiq
     
    28953030    WRITE(lunout,*) ' inertie_lic = ', inertie_lic
    28963031    WRITE(lunout,*) ' inertie_sno = ', inertie_sno
     3032    WRITE(lunout,*) ' ok_advtke = ', ok_advtke
    28973033    WRITE(lunout,*) ' ok_bs = ', ok_bs
    28983034    WRITE(lunout,*) ' ok_rad_bs = ', ok_rad_bs
     
    29573093    WRITE(lunout,*) ' var_fco2_land_cor = ', var_fco2_land_cor
    29583094    WRITE(lunout,*) ' dms_cycle_cpl = ', dms_cycle_cpl
     3095    !GG
     3096    WRITE(lunout,*) ' iflag_seaice = ', iflag_seaice
     3097    WRITE(lunout,*) ' iflag_seaice_alb = ', iflag_seaice_alb
     3098    WRITE(lunout,*) ' iflag_leads = ', iflag_leads
     3099    WRITE(lunout,*) ' sice_cond = ', sice_cond
     3100    WRITE(lunout,*) ' sisno_cond = ', sisno_cond
     3101    WRITE(lunout,*) ' sisno_den = ', sisno_den
     3102    WRITE(lunout,*) ' sisno_min = ', sisno_min
     3103    WRITE(lunout,*) ' sithick_min = ', sithick_min
     3104    WRITE(lunout,*) ' sisno_wfact = ', sisno_wfact
     3105    WRITE(lunout,*) ' amax_n = ', amax_n
     3106    WRITE(lunout,*) ' amax_s = ', amax_s
     3107    WRITE(lunout,*) ' rn_alb_sdry = ', rn_alb_sdry
     3108    WRITE(lunout,*) ' rn_alb_smlt = ', rn_alb_smlt
     3109    WRITE(lunout,*) ' rn_alb_idry = ', rn_alb_idry
     3110    WRITE(lunout,*) ' rn_alb_imlt = ', rn_alb_imlt
     3111    WRITE(lunout,*) ' si_pen_frac = ', si_pen_frac
     3112    WRITE(lunout,*) ' si_pen_ext = ', si_pen_ext
     3113    WRITE(lunout,*) ' fseaN = ', fseaN
     3114    WRITE(lunout,*) ' fseaS = ', fseaS
     3115!GG
    29593116    WRITE(lunout,*) ' n2o_cycle_cpl = ', n2o_cycle_cpl
     3117    WRITE(lunout,*) ' ndp_cycle_cpl = ', ndp_cycle_cpl
     3118    WRITE(lunout,*) ' nh3_cycle_cpl = ', nh3_cycle_cpl
    29603119    WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis
    29613120    WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis
Note: See TracChangeset for help on using the changeset viewer.