Changeset 5137 for LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_clesphys.f90
- Timestamp:
- Jul 28, 2024, 10:25:12 PM (3 months ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_clesphys.f90
r5136 r5137 1 1 ! $Id$ 2 3 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre 4 ! veillez \`a n'utiliser que des ! pour les commentaires 5 ! et \`a bien positionner les & des lignes de continuation 6 ! (les placer en colonne 6 et en colonne 73) 7 8 !..include cles_phys.h 9 10 ! threshold on to activate SSO schemes 11 REAL zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t 12 INTEGER iflag_cycle_diurne 13 LOGICAL soil_model,new_oliq,ok_orodr,ok_orolf 14 LOGICAL ok_limitvrai 15 LOGICAL ok_all_xml 16 LOGICAL ok_lwoff 17 INTEGER nbapp_rad, iflag_con, nbapp_cv, nbapp_wk, iflag_ener_conserv 18 REAL co2_ppm, co2_ppm0, solaire 19 INTEGER iflag_thermals,nsplit_thermals 20 INTEGER iflag_physiq 21 REAL tau_thermals 22 23 !FC 24 REAL Cd_frein 25 LOGICAL ok_suntime_rrtm 26 REAL(kind=8) RCO2, RCH4, RN2O, RCFC11, RCFC12 27 REAL(kind=8) RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act 28 REAL(kind=8) CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt 29 !IM ajout CFMIP2/CMIP5 30 REAL(kind=8) RCO2_per,RCH4_per,RN2O_per,RCFC11_per,RCFC12_per 31 REAL(kind=8) CH4_ppb_per,N2O_ppb_per,CFC11_ppt_per,CFC12_ppt_per 32 33 !OM ---> correction du bilan d'eau global 34 !OM Correction sur precip KE 35 REAL cvl_corr 36 !OM Fonte calotte dans bilan eau 37 LOGICAL ok_lic_melt 38 !OB Depot de vapeur d eau sur la calotte pour le bilan eau 39 LOGICAL ok_lic_cond 40 41 !IM simulateur ISCCP 42 INTEGER top_height, overlap 43 !IM seuils cdrm, cdrh 44 REAL cdmmax, cdhmax 45 !IM pour les params différentes Olivier Torres 46 INTEGER choix_bulk, nit_bulk, kz0 47 !IM param. stabilite s/ terres et en dehors 48 REAL ksta, ksta_ter, f_ri_cd_min 49 !IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH 50 LOGICAL ok_kzmin 51 !IM, MAFo fmagic, pmagic : parametres - additionnel et multiplicatif - 52 ! pour regler l albedo sur ocean 53 REAL fmagic, pmagic 54 ! Hauteur (imposee) du contenu en eau du sol 55 REAL qsol0,albsno0,evap0 56 ! Frottement au sol (Cdrag) 57 Real f_cdrag_ter,f_cdrag_oce 58 REAL min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce 59 REAL z0m_seaice,z0h_seaice 60 REAL z0m_landice, z0h_landice 61 INTEGER iflag_gusts,iflag_z0_oce 62 63 ! Rugoro 64 Real f_rugoro,z0min 65 66 ! tau_gl : constante de rappel de la temperature a la surface de la glace 67 REAL tau_gl 68 69 !IM lev_histhf : niveau sorties 6h 70 !IM lev_histday : niveau sorties journalieres 71 !IM lev_histmth : niveau sorties mensuelles 72 !IM lev_histdayNMC : on peut sortir soit sur 8 (comme AR5) ou bien 73 ! sur 17 niveaux de pression 74 INTEGER lev_histhf, lev_histday, lev_histmth 75 INTEGER lev_histdayNMC 76 Integer lev_histins, lev_histLES 77 !IM ok_histNMC : sortie fichiers niveaux de pression (histmthNMC, histdayNMC, histhfNMC) 78 !IM freq_outNMC : frequences de sortie fichiers niveaux de pression (histmthNMC, histdayNMC, histhfNMC) 79 !IM freq_calNMC : frequences de calcul fis. hist*NMC.nc 80 LOGICAL ok_histNMC(3) 81 INTEGER levout_histNMC(3) 82 REAL freq_outNMC(3) , freq_calNMC(3) 83 CHARACTER(len=4) type_run 84 ! aer_type: pour utiliser un fichier constant dans readaerosol 85 CHARACTER(len=8) :: aer_type 86 LOGICAL ok_regdyn 87 REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 88 REAL ecrit_ins, ecrit_hf, ecrit_day 89 REAL ecrit_mth, ecrit_tra, ecrit_reg 90 REAL ecrit_LES 91 REAL freq_ISCCP, ecrit_ISCCP 92 REAL freq_COSP, freq_AIRS 93 LOGICAL :: ok_cosp,ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP 94 LOGICAL :: ok_airs 95 INTEGER :: ip_ebil_phy, iflag_rrtm, iflag_ice_thermo, NSW, iflag_albedo 96 LOGICAL :: ok_ice_sursat, ok_plane_h2o, ok_plane_contrail 97 LOGICAL :: ok_chlorophyll 98 LOGICAL :: ok_strato 99 LOGICAL :: ok_hines, ok_gwd_rando 100 LOGICAL :: ok_qch4 101 LOGICAL :: ok_conserv_q 102 LOGICAL :: adjust_tropopause 103 LOGICAL :: ok_daily_climoz 104 LOGICAL :: ok_new_lscp 105 LOGICAL :: ok_bs, ok_rad_bs 106 ! flag to bypass or not the phytrac module 107 INTEGER :: iflag_phytrac 108 109 !AI flags pour ECRAD 110 LOGICAL :: ok_3Deffect 111 112 !OB flag to activate water mass fixer in physiq 113 LOGICAL :: ok_water_mass_fixer 114 115 COMMON/clesphys/ & 116 ! REAL FIRST 117 ! rajout choix_bulk et nit_bulk kz0 par Olivier Torres 118 co2_ppm, solaire & 119 , RCO2, RCH4, RN2O, RCFC11, RCFC12 & 120 , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act & 121 , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per & 122 , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 123 , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per & 124 , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min & 125 , fmagic, pmagic & 126 , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl & 127 , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce & 128 , z0m_seaice,z0h_seaice,z0m_landice,z0h_landice & 129 , freq_outNMC, freq_calNMC & 130 , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins & 131 , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS & 132 , cvl_corr & 133 , qsol0,albsno0,evap0 & 134 , co2_ppm0 & 135 , tau_thermals & 136 !FC 137 , Cd_frein,zrel_oro_t,zpmm_orodr_t,zpmm_orolf_t,zstd_orodr_t & 138 , ecrit_LES & 139 , ecrit_ins, ecrit_hf, ecrit_day & 140 , ecrit_mth, ecrit_tra, ecrit_reg & 141 ! THEN INTEGER AND LOGICALS 142 , top_height & 143 , iflag_cycle_diurne, soil_model, new_oliq & 144 , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad & 145 , iflag_con, nbapp_cv, nbapp_wk & 146 , choix_bulk, nit_bulk, kz0 & 147 , iflag_ener_conserv & 148 , ok_suntime_rrtm & 149 , overlap & 150 , ok_kzmin & 151 , lev_histhf, lev_histday, lev_histmth & 152 , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC & 153 , ok_histNMC & 154 , type_run, ok_regdyn, ok_cosp, ok_airs & 155 , ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP & 156 , ip_ebil_phy & 157 , iflag_gusts ,iflag_z0_oce & 158 , ok_lic_melt, ok_lic_cond, aer_type & 159 , iflag_rrtm, ok_strato,ok_hines, ok_qch4 & 160 , iflag_ice_thermo, ok_ice_sursat & 161 , ok_plane_h2o, ok_plane_contrail & 162 , ok_gwd_rando, NSW, iflag_albedo & 163 , ok_chlorophyll,ok_conserv_q, adjust_tropopause & 164 , ok_daily_climoz, ok_all_xml, ok_lwoff & 165 , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs & 166 , iflag_thermals,nsplit_thermals & 167 , iflag_physiq, ok_3Deffect, ok_water_mass_fixer 168 save /clesphys/ 169 !$OMP THREADPRIVATE(/clesphys/) 2 ! Replaces clesphys.h 3 4 MODULE lmdz_clesphys 5 IMPLICIT NONE; PRIVATE 6 7 PUBLIC co2_ppm, solaire & 8 , RCO2, RCH4, RN2O, RCFC11, RCFC12 & 9 , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act & 10 , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per & 11 , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 12 , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per & 13 , cdmmax, cdhmax, ksta, ksta_ter, f_ri_cd_min & 14 , fmagic, pmagic & 15 , f_cdrag_ter, f_cdrag_oce, f_rugoro, z0min, tau_gl & 16 , min_wind_speed, f_gust_wk, f_gust_bl, f_qsat_oce, f_z0qh_oce & 17 , z0m_seaice, z0h_seaice, z0m_landice, z0h_landice & 18 , freq_outNMC, freq_calNMC & 19 , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins & 20 , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS & 21 , cvl_corr & 22 , qsol0, albsno0, evap0 & 23 , co2_ppm0 & 24 , tau_thermals & 25 , Cd_frein, zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t & 26 , ecrit_LES & 27 , ecrit_ins, ecrit_hf, ecrit_day & 28 , ecrit_mth, ecrit_tra, ecrit_reg & 29 , top_height & 30 , iflag_cycle_diurne, soil_model, new_oliq & 31 , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad & 32 , iflag_con, nbapp_cv, nbapp_wk & 33 , choix_bulk, nit_bulk, kz0 & 34 , iflag_ener_conserv & 35 , ok_suntime_rrtm & 36 , overlap & 37 , ok_kzmin & 38 , lev_histhf, lev_histday, lev_histmth & 39 , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC & 40 , ok_histNMC & 41 , type_run, ok_regdyn, ok_cosp, ok_airs & 42 , ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP & 43 , ip_ebil_phy & 44 , iflag_gusts, iflag_z0_oce & 45 , ok_lic_melt, ok_lic_cond, aer_type & 46 , iflag_rrtm, ok_strato, ok_hines, ok_qch4 & 47 , iflag_ice_thermo, ok_ice_sursat & 48 , ok_plane_h2o, ok_plane_contrail & 49 , ok_gwd_rando, NSW, iflag_albedo & 50 , ok_chlorophyll, ok_conserv_q, adjust_tropopause & 51 , ok_daily_climoz, ok_all_xml, ok_lwoff & 52 , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs & 53 , iflag_thermals, nsplit_thermals & 54 , iflag_physiq, ok_3Deffect, ok_water_mass_fixer 55 56 57 ! threshold on to activate SSO schemes 58 ! threshold on to activate SSO schemes 59 REAL zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t 60 INTEGER iflag_cycle_diurne 61 LOGICAL soil_model, new_oliq, ok_orodr, ok_orolf 62 LOGICAL ok_limitvrai 63 LOGICAL ok_all_xml 64 LOGICAL ok_lwoff 65 INTEGER nbapp_rad, iflag_con, nbapp_cv, nbapp_wk, iflag_ener_conserv 66 REAL co2_ppm, co2_ppm0, solaire 67 INTEGER iflag_thermals, nsplit_thermals 68 INTEGER iflag_physiq 69 REAL tau_thermals 70 71 !FC 72 REAL Cd_frein 73 LOGICAL ok_suntime_rrtm 74 REAL(kind = 8) RCO2, RCH4, RN2O, RCFC11, RCFC12 75 REAL(kind = 8) RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act 76 REAL(kind = 8) CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt 77 !IM ajout CFMIP2/CMIP5 78 REAL(kind = 8) RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per 79 REAL(kind = 8) CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per 80 81 !OM ---> correction du bilan d'eau global 82 !OM Correction sur precip KE 83 REAL cvl_corr 84 !OM Fonte calotte dans bilan eau 85 LOGICAL ok_lic_melt 86 !OB Depot de vapeur d eau sur la calotte pour le bilan eau 87 LOGICAL ok_lic_cond 88 89 !IM simulateur ISCCP 90 INTEGER top_height, overlap 91 !IM seuils cdrm, cdrh 92 REAL cdmmax, cdhmax 93 !IM pour les params différentes Olivier Torres 94 INTEGER choix_bulk, nit_bulk, kz0 95 !IM param. stabilite s/ terres et en dehors 96 REAL ksta, ksta_ter, f_ri_cd_min 97 !IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH 98 LOGICAL ok_kzmin 99 !IM, MAFo fmagic, pmagic : parametres - additionnel et multiplicatif - 100 ! pour regler l albedo sur ocean 101 REAL fmagic, pmagic 102 ! Hauteur (imposee) du contenu en eau du sol 103 REAL qsol0, albsno0, evap0 104 ! Frottement au sol (Cdrag) 105 Real f_cdrag_ter, f_cdrag_oce 106 REAL min_wind_speed, f_gust_wk, f_gust_bl, f_qsat_oce, f_z0qh_oce 107 REAL z0m_seaice, z0h_seaice 108 REAL z0m_landice, z0h_landice 109 INTEGER iflag_gusts, iflag_z0_oce 110 111 ! Rugoro 112 Real f_rugoro, z0min 113 114 ! tau_gl : constante de rappel de la temperature a la surface de la glace 115 REAL tau_gl 116 117 !IM lev_histhf : niveau sorties 6h 118 !IM lev_histday : niveau sorties journalieres 119 !IM lev_histmth : niveau sorties mensuelles 120 !IM lev_histdayNMC : on peut sortir soit sur 8 (comme AR5) ou bien 121 ! sur 17 niveaux de pression 122 INTEGER lev_histhf, lev_histday, lev_histmth 123 INTEGER lev_histdayNMC 124 Integer lev_histins, lev_histLES 125 !IM ok_histNMC : sortie fichiers niveaux de pression (histmthNMC, histdayNMC, histhfNMC) 126 !IM freq_outNMC : frequences de sortie fichiers niveaux de pression (histmthNMC, histdayNMC, histhfNMC) 127 !IM freq_calNMC : frequences de calcul fis. hist*NMC.nc 128 LOGICAL ok_histNMC(3) 129 INTEGER levout_histNMC(3) 130 REAL freq_outNMC(3), freq_calNMC(3) 131 CHARACTER(len = 4) type_run 132 ! aer_type: pour utiliser un fichier constant dans readaerosol 133 CHARACTER(len = 8) :: aer_type 134 LOGICAL ok_regdyn 135 REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 136 REAL ecrit_ins, ecrit_hf, ecrit_day 137 REAL ecrit_mth, ecrit_tra, ecrit_reg 138 REAL ecrit_LES 139 REAL freq_ISCCP, ecrit_ISCCP 140 REAL freq_COSP, freq_AIRS 141 LOGICAL :: ok_cosp, ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP 142 LOGICAL :: ok_airs 143 INTEGER :: ip_ebil_phy, iflag_rrtm, iflag_ice_thermo, NSW, iflag_albedo 144 LOGICAL :: ok_ice_sursat, ok_plane_h2o, ok_plane_contrail 145 LOGICAL :: ok_chlorophyll 146 LOGICAL :: ok_strato 147 LOGICAL :: ok_hines, ok_gwd_rando 148 LOGICAL :: ok_qch4 149 LOGICAL :: ok_conserv_q 150 LOGICAL :: adjust_tropopause 151 LOGICAL :: ok_daily_climoz 152 LOGICAL :: ok_new_lscp 153 LOGICAL :: ok_bs, ok_rad_bs 154 ! flag to bypass or not the phytrac module 155 INTEGER :: iflag_phytrac 156 157 !AI flags pour ECRAD 158 LOGICAL :: ok_3Deffect 159 160 !OB flag to activate water mass fixer in physiq 161 LOGICAL :: ok_water_mass_fixer 162 163 164 !$OMP THREADPRIVATE(co2_ppm, solaire & 165 !$OMP , RCO2, RCH4, RN2O, RCFC11, RCFC12 & 166 !$OMP , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act & 167 !$OMP , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per & 168 !$OMP , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 169 !$OMP , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per & 170 !$OMP , cdmmax, cdhmax, ksta, ksta_ter, f_ri_cd_min & 171 !$OMP , fmagic, pmagic & 172 !$OMP , f_cdrag_ter, f_cdrag_oce, f_rugoro, z0min, tau_gl & 173 !$OMP , min_wind_speed, f_gust_wk, f_gust_bl, f_qsat_oce, f_z0qh_oce & 174 !$OMP , z0m_seaice, z0h_seaice, z0m_landice, z0h_landice & 175 !$OMP , freq_outNMC, freq_calNMC & 176 !$OMP , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins & 177 !$OMP , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS & 178 !$OMP , cvl_corr & 179 !$OMP , qsol0, albsno0, evap0 & 180 !$OMP , co2_ppm0 & 181 !$OMP , tau_thermals & 182 !$OMP , Cd_frein, zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t & 183 !$OMP , ecrit_LES & 184 !$OMP , ecrit_ins, ecrit_hf, ecrit_day & 185 !$OMP , ecrit_mth, ecrit_tra, ecrit_reg & 186 !$OMP , top_height & 187 !$OMP , iflag_cycle_diurne, soil_model, new_oliq & 188 !$OMP , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad & 189 !$OMP , iflag_con, nbapp_cv, nbapp_wk & 190 !$OMP , choix_bulk, nit_bulk, kz0 & 191 !$OMP , iflag_ener_conserv & 192 !$OMP , ok_suntime_rrtm & 193 !$OMP , overlap & 194 !$OMP , ok_kzmin & 195 !$OMP , lev_histhf, lev_histday, lev_histmth & 196 !$OMP , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC & 197 !$OMP , ok_histNMC & 198 !$OMP , type_run, ok_regdyn, ok_cosp, ok_airs & 199 !$OMP , ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP & 200 !$OMP , ip_ebil_phy & 201 !$OMP , iflag_gusts, iflag_z0_oce & 202 !$OMP , ok_lic_melt, ok_lic_cond, aer_type & 203 !$OMP , iflag_rrtm, ok_strato, ok_hines, ok_qch4 & 204 !$OMP , iflag_ice_thermo, ok_ice_sursat & 205 !$OMP , ok_plane_h2o, ok_plane_contrail & 206 !$OMP , ok_gwd_rando, NSW, iflag_albedo & 207 !$OMP , ok_chlorophyll, ok_conserv_q, adjust_tropopause & 208 !$OMP , ok_daily_climoz, ok_all_xml, ok_lwoff & 209 !$OMP , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs & 210 !$OMP , iflag_thermals, nsplit_thermals & 211 !$OMP , iflag_physiq, ok_3Deffect, ok_water_mass_fixer) 212 213 END MODULE lmdz_clesphys
Note: See TracChangeset
for help on using the changeset viewer.