Changeset 2702 for LMDZ5/trunk/libf/phylmd
- Timestamp:
- Nov 14, 2016, 6:15:27 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/conf_phys_m.F90
r2701 r2702 4 4 ! 5 5 ! 6 moduleconf_phys_m7 8 implicit none9 10 contains 11 12 subroutineconf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, &6 MODULE conf_phys_m 7 8 IMPLICIT NONE 9 10 CONTAINS 11 12 SUBROUTINE conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, & 13 13 ok_LES,& 14 14 callstats,& … … 23 23 alp_offset) 24 24 25 useIOIPSL25 USE IOIPSL 26 26 USE surface_data 27 27 USE phys_cal_mod 28 USE carbon_cycle_mod, ONLY: carbon_cycle_tr, carbon_cycle_cpl29 USE mod_grid_phy_lmdz, only: klon_glo28 USE carbon_cycle_mod, ONLY: carbon_cycle_tr, carbon_cycle_cpl 29 USE mod_grid_phy_lmdz, ONLY: klon_glo 30 30 USE print_control_mod, ONLY: lunout 31 32 31 33 32 include "conema3.h" … … 70 69 71 70 ! Sortie: 72 logical:: ok_newmicro73 integer:: iflag_radia74 logical:: ok_journe, ok_mensuel, ok_instan, ok_hf75 logical:: ok_LES71 LOGICAL :: ok_newmicro 72 INTEGER :: iflag_radia 73 LOGICAL :: ok_journe, ok_mensuel, ok_instan, ok_hf 74 LOGICAL :: ok_LES 76 75 LOGICAL :: callstats 77 76 LOGICAL :: ok_ade, ok_aie, ok_cdnc, aerosol_couple … … 81 80 LOGICAL :: new_aod 82 81 REAL :: bl95_b0, bl95_b1 83 real:: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs84 integer:: iflag_cld_th85 integer:: iflag_ratqs86 87 character (len = 6),SAVE :: type_ocean_omp, version_ocean_omp, ocean_omp88 character(len = 10),SAVE :: type_veget_omp89 CHARACTER (len = 8),SAVE:: aer_type_omp90 logical,SAVE:: ok_snow_omp91 logical,SAVE:: ok_newmicro_omp92 logical,SAVE:: ok_all_xml_omp93 logical,SAVE:: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp94 logical,SAVE:: ok_LES_omp95 LOGICAL, SAVE:: callstats_omp96 LOGICAL, SAVE:: ok_ade_omp, ok_aie_omp, ok_cdnc_omp, aerosol_couple_omp82 REAL :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs 83 INTEGER :: iflag_cld_th 84 INTEGER :: iflag_ratqs 85 86 CHARACTER (len = 6), SAVE :: type_ocean_omp, version_ocean_omp, ocean_omp 87 CHARACTER (len = 10),SAVE :: type_veget_omp 88 CHARACTER (len = 8), SAVE :: aer_type_omp 89 LOGICAL, SAVE :: ok_snow_omp 90 LOGICAL, SAVE :: ok_newmicro_omp 91 LOGICAL, SAVE :: ok_all_xml_omp 92 LOGICAL, SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp 93 LOGICAL, SAVE :: ok_LES_omp 94 LOGICAL, SAVE :: callstats_omp 95 LOGICAL, SAVE :: ok_ade_omp, ok_aie_omp, ok_cdnc_omp, aerosol_couple_omp 97 96 INTEGER, SAVE :: flag_aerosol_omp 98 97 INTEGER, SAVE :: flag_aerosol_strat_omp … … 102 101 REAL,SAVE :: freq_ISCCP_omp, ecrit_ISCCP_omp 103 102 REAL,SAVE :: freq_COSP_omp, freq_AIRS_omp 104 real,SAVE :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp105 real,SAVE :: tau_cld_cv_omp, coefw_cld_cv_omp106 integer,SAVE:: iflag_cld_cv_omp107 108 109 real,SAVE:: ratqshaut_omp110 real,SAVE:: tau_ratqs_omp103 REAL,SAVE :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp 104 REAL,SAVE :: tau_cld_cv_omp, coefw_cld_cv_omp 105 INTEGER, SAVE :: iflag_cld_cv_omp 106 107 108 REAL, SAVE :: ratqshaut_omp 109 REAL, SAVE :: tau_ratqs_omp 111 110 REAL, SAVE :: t_coupl_omp 112 integer,SAVE:: iflag_radia_omp113 integer,SAVE:: iflag_rrtm_omp114 integer,SAVE:: iflag_albedo_omp !albedo SB115 logical,save:: ok_chlorophyll_omp ! albedo SB116 integer,SAVE:: NSW_omp117 integer,SAVE:: iflag_cld_th_omp, ip_ebil_phy_omp118 integer,SAVE:: iflag_ratqs_omp119 120 Real, SAVE:: f_cdrag_ter_omp,f_cdrag_oce_omp121 Real, SAVE:: f_rugoro_omp , z0min_omp122 Real, SAVE:: z0m_seaice_omp,z0h_seaice_omp123 REAL, SAVE:: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp, f_z0qh_oce_omp124 INTEGER, SAVE:: iflag_gusts_omp,iflag_z0_oce_omp111 INTEGER, SAVE :: iflag_radia_omp 112 INTEGER, SAVE :: iflag_rrtm_omp 113 INTEGER, SAVE :: iflag_albedo_omp !albedo SB 114 LOGICAL, SAVE :: ok_chlorophyll_omp ! albedo SB 115 INTEGER, SAVE :: NSW_omp 116 INTEGER, SAVE :: iflag_cld_th_omp, ip_ebil_phy_omp 117 INTEGER, SAVE :: iflag_ratqs_omp 118 119 Real, SAVE :: f_cdrag_ter_omp,f_cdrag_oce_omp 120 Real, SAVE :: f_rugoro_omp , z0min_omp 121 Real, SAVE :: z0m_seaice_omp,z0h_seaice_omp 122 REAL, SAVE :: min_wind_speed_omp,f_gust_wk_omp,f_gust_bl_omp,f_qsat_oce_omp, f_z0qh_oce_omp 123 INTEGER, SAVE :: iflag_gusts_omp,iflag_z0_oce_omp 125 124 126 125 ! Local 127 real:: zzz128 129 real:: seuil_inversion130 real,save:: seuil_inversion_omp131 132 integer,SAVE :: iflag_thermals_ed_omp,iflag_thermals_optflux_omp,iflag_thermals_closure_omp133 real, SAVE :: fact_thermals_ed_dz_omp134 integer,SAVE :: iflag_thermals_omp,nsplit_thermals_omp135 real,save:: tau_thermals_omp,alp_bl_k_omp126 REAL :: zzz 127 128 REAL :: seuil_inversion 129 REAL,SAVE :: seuil_inversion_omp 130 131 INTEGER,SAVE :: iflag_thermals_ed_omp,iflag_thermals_optflux_omp,iflag_thermals_closure_omp 132 REAL, SAVE :: fact_thermals_ed_dz_omp 133 INTEGER,SAVE :: iflag_thermals_omp,nsplit_thermals_omp 134 REAL,SAVE :: tau_thermals_omp,alp_bl_k_omp 136 135 ! nrlmd le 10/04/2012 137 integer,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp138 integer,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp139 real,SAVE :: s_trig_omp136 INTEGER,SAVE :: iflag_trig_bl_omp,iflag_clos_bl_omp 137 INTEGER,SAVE :: tau_trig_shallow_omp,tau_trig_deep_omp 138 REAL,SAVE :: s_trig_omp 140 139 ! fin nrlmd le 10/04/2012 141 real:: alp_offset140 REAL :: alp_offset 142 141 REAL, SAVE :: alp_offset_omp 143 integer,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp144 integer,SAVE :: iflag_cvl_sigd_omp142 INTEGER,SAVE :: iflag_coupl_omp,iflag_clos_omp,iflag_wake_omp 143 INTEGER,SAVE :: iflag_cvl_sigd_omp 145 144 REAL, SAVE :: coef_clos_ls_omp 146 145 REAL, SAVE :: supcrit1_omp, supcrit2_omp 147 146 INTEGER, SAVE :: iflag_mix_omp 148 147 INTEGER, SAVE :: iflag_mix_adiab_omp 149 real, save:: scut_omp, qqa1_omp, qqa2_omp, gammas_omp, Fmax_omp, alphas_omp148 REAL, SAVE :: scut_omp, qqa1_omp, qqa2_omp, gammas_omp, Fmax_omp, alphas_omp 150 149 REAL, SAVE :: tmax_fonte_cv_omp 151 150 … … 187 186 INTEGER,SAVE :: iflag_pbl_split_omp 188 187 INTEGER,SAVE :: iflag_order2_sollw_omp 189 Integer, save:: lev_histins_omp, lev_histLES_omp188 Integer, SAVE :: lev_histins_omp, lev_histLES_omp 190 189 INTEGER, SAVE :: lev_histdayNMC_omp 191 190 INTEGER, SAVE :: levout_histNMC_omp(3) … … 205 204 LOGICAL,SAVE :: ok_lic_melt_omp 206 205 ! 207 LOGICAL,SAVE :: cycle_diurne_omp,soil_model_omp,new_oliq_omp208 LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp206 LOGICAL,SAVE :: cycle_diurne_omp,soil_model_omp,new_oliq_omp 207 LOGICAL,SAVE :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp 209 208 INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp 210 209 INTEGER, SAVE :: iflag_ener_conserv_omp … … 212 211 INTEGER, SAVE :: iflag_fisrtilp_qsat_omp 213 212 INTEGER, SAVE :: iflag_bergeron_omp 214 LOGICAL,SAVE :: ok_strato_omp215 LOGICAL,SAVE :: ok_hines_omp, ok_gwd_rando_omp216 real, SAVE:: gwd_rando_ruwmax_omp, gwd_rando_sat_omp217 real, SAVE:: gwd_front_ruwmax_omp, gwd_front_sat_omp218 real, save:: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp219 real, save:: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp220 LOGICAL,SAVE :: ok_qch4_omp221 LOGICAL,SAVE 222 LOGICAL,SAVE 223 224 integer, intent(out):: read_climoz ! read ozone climatology, OpenMP shared213 LOGICAL,SAVE :: ok_strato_omp 214 LOGICAL,SAVE :: ok_hines_omp, ok_gwd_rando_omp 215 REAL, SAVE :: gwd_rando_ruwmax_omp, gwd_rando_sat_omp 216 REAL, SAVE :: gwd_front_ruwmax_omp, gwd_front_sat_omp 217 REAL, SAVE :: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp 218 REAL, SAVE :: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp 219 LOGICAL,SAVE :: ok_qch4_omp 220 LOGICAL,SAVE :: carbon_cycle_tr_omp 221 LOGICAL,SAVE :: carbon_cycle_cpl_omp 222 223 INTEGER, INTENT(OUT):: read_climoz ! read ozone climatology, OpenMP shared 225 224 ! Allowed values are 0, 1 and 2 226 225 ! 0: do not read an ozone climatology … … 239 238 ! 240 239 type_ocean_omp = 'force ' 241 callgetin('type_ocean', type_ocean_omp)240 CALL getin('type_ocean', type_ocean_omp) 242 241 ! 243 242 !Config Key = version_ocean … … 247 246 ! 248 247 version_ocean_omp = 'xxxxxx' 249 callgetin('version_ocean', version_ocean_omp)248 CALL getin('version_ocean', version_ocean_omp) 250 249 251 250 !Config Key = OCEAN … … 255 254 ! 256 255 ocean_omp = 'yyyyyy' 257 callgetin('OCEAN', ocean_omp)256 CALL getin('OCEAN', ocean_omp) 258 257 IF (ocean_omp /= 'yyyyyy') THEN 259 258 WRITE(lunout,*)'ERROR! Old variable name OCEAN used in parmeter file.' … … 261 260 WRITE(lunout,*)'You have to update your parameter file physiq.def to succed running' 262 261 CALL abort_physic('conf_phys','Variable OCEAN no longer existing, use variable name type_ocean',1) 263 END 262 ENDIF 264 263 265 264 !Config Key = t_coupl … … 269 268 ! 270 269 t_coupl_omp = 86400. 271 callgetin('t_coupl', t_coupl_omp)270 CALL getin('t_coupl', t_coupl_omp) 272 271 IF (t_coupl_omp == 0) THEN 273 272 WRITE(lunout,*)'ERROR! Timestep of coupling between atmosphere and ocean' 274 273 WRITE(lunout,*)'cannot be zero.' 275 274 CALL abort_physic('conf_phys','t_coupl = 0.',1) 276 END 275 ENDIF 277 276 278 277 ! 279 278 !Config Key = ok_all_xml 280 279 !Config Desc = utiliser les xml pourles définitions des champs pour xios 281 !Config Def = . false.282 !Config Help = 283 ! 284 ok_all_xml_omp = . false.285 callgetin('ok_all_xml', ok_all_xml_omp)280 !Config Def = .FALSE. 281 !Config Help = 282 ! 283 ok_all_xml_omp = .FALSE. 284 CALL getin('ok_all_xml', ok_all_xml_omp) 286 285 ! 287 286 … … 289 288 !Config Key = VEGET 290 289 !Config Desc = Type de modele de vegetation 291 !Config Def = . false.290 !Config Def = .FALSE. 292 291 !Config Help = Type de modele de vegetation utilise 293 292 ! 294 293 type_veget_omp ='orchidee' 295 callgetin('VEGET', type_veget_omp)294 CALL getin('VEGET', type_veget_omp) 296 295 ! 297 296 … … 299 298 !Config Key = ok_snow 300 299 !Config Desc = Flag to activate snow model SISVAT 301 !Config Def = . false.302 ok_snow_omp = . false.303 callgetin('ok_snow', ok_snow_omp)300 !Config Def = .FALSE. 301 ok_snow_omp = .FALSE. 302 CALL getin('ok_snow', ok_snow_omp) 304 303 ! Martin 305 304 306 305 !Config Key = OK_journe 307 306 !Config Desc = Pour des sorties journalieres 308 !Config Def = . false.307 !Config Def = .FALSE. 309 308 !Config Help = Pour creer le fichier histday contenant les sorties 310 309 ! journalieres 311 310 ! 312 ok_journe_omp = . false.313 callgetin('OK_journe', ok_journe_omp)311 ok_journe_omp = .FALSE. 312 CALL getin('OK_journe', ok_journe_omp) 314 313 ! 315 314 !Config Key = ok_hf 316 315 !Config Desc = Pour des sorties haute frequence 317 !Config Def = . false.316 !Config Def = .FALSE. 318 317 !Config Help = Pour creer le fichier histhf contenant les sorties 319 318 ! haute frequence ( 3h ou 6h) 320 319 ! 321 ok_hf_omp = . false.322 callgetin('ok_hf', ok_hf_omp)320 ok_hf_omp = .FALSE. 321 CALL getin('ok_hf', ok_hf_omp) 323 322 ! 324 323 !Config Key = OK_mensuel 325 324 !Config Desc = Pour des sorties mensuelles 326 !Config Def = . true.325 !Config Def = .TRUE. 327 326 !Config Help = Pour creer le fichier histmth contenant les sorties 328 327 ! mensuelles 329 328 ! 330 ok_mensuel_omp = . true.331 callgetin('OK_mensuel', ok_mensuel_omp)329 ok_mensuel_omp = .TRUE. 330 CALL getin('OK_mensuel', ok_mensuel_omp) 332 331 ! 333 332 !Config Key = OK_instan 334 333 !Config Desc = Pour des sorties instantanees 335 !Config Def = . false.334 !Config Def = .FALSE. 336 335 !Config Help = Pour creer le fichier histins contenant les sorties 337 336 ! instantanees 338 337 ! 339 ok_instan_omp = . false.340 callgetin('OK_instan', ok_instan_omp)338 ok_instan_omp = .FALSE. 339 CALL getin('OK_instan', ok_instan_omp) 341 340 ! 342 341 !Config Key = ok_ade 343 342 !Config Desc = Aerosol direct effect or not? 344 !Config Def = . false.343 !Config Def = .FALSE. 345 344 !Config Help = Used in radlwsw.F 346 345 ! 347 ok_ade_omp = . false.348 callgetin('ok_ade', ok_ade_omp)346 ok_ade_omp = .FALSE. 347 CALL getin('ok_ade', ok_ade_omp) 349 348 350 349 ! 351 350 !Config Key = ok_aie 352 351 !Config Desc = Aerosol indirect effect or not? 353 !Config Def = . false.352 !Config Def = .FALSE. 354 353 !Config Help = Used in nuage.F and radlwsw.F 355 354 ! 356 ok_aie_omp = . false.357 callgetin('ok_aie', ok_aie_omp)355 ok_aie_omp = .FALSE. 356 CALL getin('ok_aie', ok_aie_omp) 358 357 359 358 ! 360 359 !Config Key = ok_cdnc 361 360 !Config Desc = ok cloud droplet number concentration 362 !Config Def = . false.361 !Config Def = .FALSE. 363 362 !Config Help = Used in newmicro.F 364 363 ! 365 ok_cdnc_omp = . false.366 callgetin('ok_cdnc', ok_cdnc_omp)364 ok_cdnc_omp = .FALSE. 365 CALL getin('ok_cdnc', ok_cdnc_omp) 367 366 ! 368 367 !Config Key = aerosol_couple 369 368 !Config Desc = read aerosol in file or calcul by inca 370 !Config Def = . false.369 !Config Def = .FALSE. 371 370 !Config Help = Used in physiq.F 372 371 ! 373 aerosol_couple_omp = . false.372 aerosol_couple_omp = .FALSE. 374 373 CALL getin('aerosol_couple',aerosol_couple_omp) 375 374 ! … … 410 409 !Config Help = Used in physiq.F / aeropt 411 410 ! 412 flag_bc_internal_mixture_omp = . false.411 flag_bc_internal_mixture_omp = .FALSE. 413 412 CALL getin('flag_bc_internal_mixture',flag_bc_internal_mixture_omp) 414 413 … … 416 415 !Config Key = new_aod 417 416 !Config Desc = which calcul of aeropt 418 !Config Def = false417 !Config Def = FALSE 419 418 !Config Help = Used in physiq.F 420 419 ! 421 new_aod_omp = . true.420 new_aod_omp = .TRUE. 422 421 CALL getin('new_aod',new_aod_omp) 423 422 … … 429 428 ! 430 429 aer_type_omp = 'scenario' 431 callgetin('aer_type', aer_type_omp)430 CALL getin('aer_type', aer_type_omp) 432 431 433 432 ! 434 433 !Config Key = bl95_b0 435 434 !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995) 436 !Config Def = . false.435 !Config Def = .FALSE. 437 436 !Config Help = Used in nuage.F 438 437 ! 439 438 bl95_b0_omp = 2. 440 callgetin('bl95_b0', bl95_b0_omp)439 CALL getin('bl95_b0', bl95_b0_omp) 441 440 442 441 !Config Key = bl95_b1 443 442 !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995) 444 !Config Def = . false.443 !Config Def = .FALSE. 445 444 !Config Help = Used in nuage.F 446 445 ! 447 446 bl95_b1_omp = 0.2 448 callgetin('bl95_b1', bl95_b1_omp)447 CALL getin('bl95_b1', bl95_b1_omp) 449 448 450 449 !Config Key = freq_ISCCP … … 455 454 ! 456 455 freq_ISCCP_omp = 10800. 457 callgetin('freq_ISCCP', freq_ISCCP_omp)456 CALL getin('freq_ISCCP', freq_ISCCP_omp) 458 457 ! 459 458 !Config Key = ecrit_ISCCP … … 465 464 ! 466 465 ecrit_ISCCP_omp = 1. 467 callgetin('ecrit_ISCCP', ecrit_ISCCP_omp)466 CALL getin('ecrit_ISCCP', ecrit_ISCCP_omp) 468 467 469 468 !Config Key = freq_COSP … … 474 473 ! 475 474 freq_COSP_omp = 10800. 476 callgetin('freq_COSP', freq_COSP_omp)475 CALL getin('freq_COSP', freq_COSP_omp) 477 476 478 477 !Config Key = freq_AIRS … … 483 482 ! 484 483 freq_AIRS_omp = 10800. 485 callgetin('freq_AIRS', freq_AIRS_omp)484 CALL getin('freq_AIRS', freq_AIRS_omp) 486 485 487 486 ! … … 492 491 ! 493 492 ip_ebil_phy_omp = 0 494 callgetin('ip_ebil_phy', ip_ebil_phy_omp)493 CALL getin('ip_ebil_phy', ip_ebil_phy_omp) 495 494 ! 496 495 !Config Key = seuil_inversion … … 500 499 ! 501 500 seuil_inversion_omp = -0.1 502 callgetin('seuil_inversion', seuil_inversion_omp)501 CALL getin('seuil_inversion', seuil_inversion_omp) 503 502 504 503 ! … … 512 511 !valeur AMIP II 513 512 R_ecc_omp = 0.016715 514 callgetin('R_ecc', R_ecc_omp)513 CALL getin('R_ecc', R_ecc_omp) 515 514 ! 516 515 !Config Key = R_peri … … 522 521 !valeur AMIP II 523 522 R_peri_omp = 102.7 524 callgetin('R_peri', R_peri_omp)523 CALL getin('R_peri', R_peri_omp) 525 524 ! 526 525 !Config Key = R_incl … … 532 531 !valeur AMIP II 533 532 R_incl_omp = 23.441 534 callgetin('R_incl', R_incl_omp)533 CALL getin('R_incl', R_incl_omp) 535 534 ! 536 535 !Config Key = solaire … … 542 541 !valeur AMIP II 543 542 solaire_omp = 1365. 544 callgetin('solaire', solaire_omp)543 CALL getin('solaire', solaire_omp) 545 544 ! 546 545 !Config Key = ok_sun_time 547 546 !Config Desc = oui ou non variabilite solaire 548 !Config Def = . false.547 !Config Def = .FALSE. 549 548 !Config Help = 550 549 ! 551 550 ! 552 551 !valeur AMIP II 553 ok_suntime_rrtm_omp = . false.554 callgetin('ok_suntime_rrtm',ok_suntime_rrtm_omp)552 ok_suntime_rrtm_omp = .FALSE. 553 CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp) 555 554 ! 556 555 !Config Key = co2_ppm … … 562 561 !valeur AMIP II 563 562 co2_ppm_omp = 348. 564 callgetin('co2_ppm', co2_ppm_omp)563 CALL getin('co2_ppm', co2_ppm_omp) 565 564 ! 566 565 !Config Key = RCO2 … … 574 573 RCO2_omp = co2_ppm_omp * 1.0e-06 * 44.011/28.97 ! pour co2_ppm=348. 575 574 576 ! callgetin('RCO2', RCO2)575 ! CALL getin('RCO2', RCO2) 577 576 ! 578 577 !Config Key = RCH4 … … 588 587 !ancienne valeur 589 588 ! RCH4 = 1.72E-06* 16.043/28.97 590 !OK callgetin('RCH4', RCH4)589 !OK CALL getin('RCH4', RCH4) 591 590 zzz = 1650. 592 callgetin('CH4_ppb', zzz)591 CALL getin('CH4_ppb', zzz) 593 592 CH4_ppb_omp = zzz 594 593 RCH4_omp = CH4_ppb_omp * 1.0E-09 * 16.043/28.97 … … 606 605 !ancienne valeur 607 606 ! RN2O = 310.E-09* 44.013/28.97 608 !OK callgetin('RN2O', RN2O)607 !OK CALL getin('RN2O', RN2O) 609 608 zzz=306. 610 callgetin('N2O_ppb', zzz)609 CALL getin('N2O_ppb', zzz) 611 610 N2O_ppb_omp = zzz 612 611 RN2O_omp = N2O_ppb_omp * 1.0E-09 * 44.013/28.97 … … 620 619 !OK RCFC11 = 280.E-12* 137.3686/28.97 621 620 zzz = 280. 622 callgetin('CFC11_ppt',zzz)621 CALL getin('CFC11_ppt',zzz) 623 622 CFC11_ppt_omp = zzz 624 623 RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * 137.3686/28.97 625 624 ! RCFC11 = 1.327690990680013E-09 626 !OK callgetin('RCFC11', RCFC11)625 !OK CALL getin('RCFC11', RCFC11) 627 626 ! 628 627 !Config Key = RCFC12 … … 634 633 !OK RCFC12 = 484.E-12* 120.9140/28.97 635 634 zzz = 484. 636 callgetin('CFC12_ppt',zzz)635 CALL getin('CFC12_ppt',zzz) 637 636 CFC12_ppt_omp = zzz 638 637 RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * 120.9140/28.97 639 638 ! RCFC12 = 2.020102726958923E-09 640 !OK callgetin('RCFC12', RCFC12)639 !OK CALL getin('RCFC12', RCFC12) 641 640 642 641 !ajout CFMIP begin … … 648 647 ! 649 648 co2_ppm_per_omp = co2_ppm_omp 650 callgetin('co2_ppm_per', co2_ppm_per_omp)649 CALL getin('co2_ppm_per', co2_ppm_per_omp) 651 650 ! 652 651 !Config Key = RCO2_per … … 660 659 !Config Key = ok_4xCO2atm 661 660 !Config Desc = Calcul ou non effet radiatif 4xco2 662 !Config Def = . false.663 !Config Help = 664 665 ok_4xCO2atm_omp = . false.666 callgetin('ok_4xCO2atm',ok_4xCO2atm_omp)661 !Config Def = .FALSE. 662 !Config Help = 663 664 ok_4xCO2atm_omp = .FALSE. 665 CALL getin('ok_4xCO2atm',ok_4xCO2atm_omp) 667 666 668 667 !Config Key = RCH4_per … … 672 671 ! 673 672 zzz = CH4_ppb_omp 674 callgetin('CH4_ppb_per', zzz)673 CALL getin('CH4_ppb_per', zzz) 675 674 CH4_ppb_per_omp = zzz 676 675 RCH4_per_omp = CH4_ppb_per_omp * 1.0E-09 * 16.043/28.97 … … 682 681 ! 683 682 zzz = N2O_ppb_omp 684 callgetin('N2O_ppb_per', zzz)683 CALL getin('N2O_ppb_per', zzz) 685 684 N2O_ppb_per_omp = zzz 686 685 RN2O_per_omp = N2O_ppb_per_omp * 1.0E-09 * 44.013/28.97 … … 692 691 ! 693 692 zzz = CFC11_ppt_omp 694 callgetin('CFC11_ppt_per',zzz)693 CALL getin('CFC11_ppt_per',zzz) 695 694 CFC11_ppt_per_omp = zzz 696 695 RCFC11_per_omp=CFC11_ppt_per_omp* 1.0E-12 * 137.3686/28.97 … … 702 701 ! 703 702 zzz = CFC12_ppt_omp 704 callgetin('CFC12_ppt_per',zzz)703 CALL getin('CFC12_ppt_per',zzz) 705 704 CFC12_ppt_per_omp = zzz 706 705 RCFC12_per_omp = CFC12_ppt_per_omp * 1.0E-12 * 120.9140/28.97 … … 851 850 ! 852 851 epmax_omp = .993 853 callgetin('epmax', epmax_omp)852 CALL getin('epmax', epmax_omp) 854 853 855 854 coef_epmax_cape_omp = 0.0 856 callgetin('coef_epmax_cape', coef_epmax_cape_omp)855 CALL getin('coef_epmax_cape', coef_epmax_cape_omp) 857 856 ! 858 857 !Config Key = ok_adj_ema 859 858 !Config Desc = 860 !Config Def = false861 !Config Help = 862 ! 863 ok_adj_ema_omp = . false.864 callgetin('ok_adj_ema',ok_adj_ema_omp)859 !Config Def = FALSE 860 !Config Help = 861 ! 862 ok_adj_ema_omp = .FALSE. 863 CALL getin('ok_adj_ema',ok_adj_ema_omp) 865 864 ! 866 865 !Config Key = iflag_clw … … 870 869 ! 871 870 iflag_clw_omp = 0 872 callgetin('iflag_clw',iflag_clw_omp)871 CALL getin('iflag_clw',iflag_clw_omp) 873 872 ! 874 873 !Config Key = cld_lc_lsc … … 878 877 ! 879 878 cld_lc_lsc_omp = 2.6e-4 880 callgetin('cld_lc_lsc',cld_lc_lsc_omp)879 CALL getin('cld_lc_lsc',cld_lc_lsc_omp) 881 880 ! 882 881 !Config Key = cld_lc_con … … 886 885 ! 887 886 cld_lc_con_omp = 2.6e-4 888 callgetin('cld_lc_con',cld_lc_con_omp)887 CALL getin('cld_lc_con',cld_lc_con_omp) 889 888 ! 890 889 !Config Key = cld_tau_lsc … … 894 893 ! 895 894 cld_tau_lsc_omp = 3600. 896 callgetin('cld_tau_lsc',cld_tau_lsc_omp)895 CALL getin('cld_tau_lsc',cld_tau_lsc_omp) 897 896 ! 898 897 !Config Key = cld_tau_con … … 902 901 ! 903 902 cld_tau_con_omp = 3600. 904 callgetin('cld_tau_con',cld_tau_con_omp)903 CALL getin('cld_tau_con',cld_tau_con_omp) 905 904 ! 906 905 !Config Key = ffallv_lsc … … 910 909 ! 911 910 ffallv_lsc_omp = 1. 912 callgetin('ffallv_lsc',ffallv_lsc_omp)911 CALL getin('ffallv_lsc',ffallv_lsc_omp) 913 912 ! 914 913 !Config Key = ffallv_con … … 918 917 ! 919 918 ffallv_con_omp = 1. 920 callgetin('ffallv_con',ffallv_con_omp)919 CALL getin('ffallv_con',ffallv_con_omp) 921 920 ! 922 921 !Config Key = coef_eva … … 926 925 ! 927 926 coef_eva_omp = 2.e-5 928 callgetin('coef_eva',coef_eva_omp)927 CALL getin('coef_eva',coef_eva_omp) 929 928 ! 930 929 !Config Key = reevap_ice 931 930 !Config Desc = 932 !Config Def = . false.933 !Config Help = 934 ! 935 reevap_ice_omp = . false.936 callgetin('reevap_ice',reevap_ice_omp)931 !Config Def = .FALSE. 932 !Config Help = 933 ! 934 reevap_ice_omp = .FALSE. 935 CALL getin('reevap_ice',reevap_ice_omp) 937 936 938 937 !Config Key = iflag_ratqs … … 942 941 ! 943 942 iflag_ratqs_omp = 1 944 callgetin('iflag_ratqs',iflag_ratqs_omp)943 CALL getin('iflag_ratqs',iflag_ratqs_omp) 945 944 946 945 ! … … 951 950 ! 952 951 iflag_radia_omp = 1 953 callgetin('iflag_radia',iflag_radia_omp)952 CALL getin('iflag_radia',iflag_radia_omp) 954 953 955 954 ! … … 960 959 ! 961 960 iflag_rrtm_omp = 0 962 callgetin('iflag_rrtm',iflag_rrtm_omp)961 CALL getin('iflag_rrtm',iflag_rrtm_omp) 963 962 964 963 ! … … 969 968 ! 970 969 NSW_omp = 2 971 callgetin('NSW',NSW_omp)970 CALL getin('NSW',NSW_omp) 972 971 !albedo SB >>> 973 972 iflag_albedo_omp = 0 974 callgetin('iflag_albedo',iflag_albedo_omp)975 976 ok_chlorophyll_omp=. false.977 callgetin('ok_chlorophyll',ok_chlorophyll_omp)973 CALL getin('iflag_albedo',iflag_albedo_omp) 974 975 ok_chlorophyll_omp=.FALSE. 976 CALL getin('ok_chlorophyll',ok_chlorophyll_omp) 978 977 !albedo SB <<< 979 978 … … 988 987 ! pour assurer une retrocompatiblite. 989 988 ! A abandonner un jour 990 callgetin('iflag_cldcon',iflag_cld_th_omp)991 callgetin('iflag_cld_th',iflag_cld_th_omp)989 CALL getin('iflag_cldcon',iflag_cld_th_omp) 990 CALL getin('iflag_cld_th',iflag_cld_th_omp) 992 991 iflag_cld_cv_omp = 0 993 callgetin('iflag_cld_cv',iflag_cld_cv_omp)992 CALL getin('iflag_cld_cv',iflag_cld_cv_omp) 994 993 995 994 ! … … 1000 999 ! 1001 1000 tau_cld_cv_omp = 10. 1002 callgetin('tau_cld_cv',tau_cld_cv_omp)1001 CALL getin('tau_cld_cv',tau_cld_cv_omp) 1003 1002 1004 1003 ! … … 1009 1008 ! 1010 1009 coefw_cld_cv_omp = 0.1 1011 callgetin('coefw_cld_cv',coefw_cld_cv_omp)1010 CALL getin('coefw_cld_cv',coefw_cld_cv_omp) 1012 1011 1013 1012 … … 1021 1020 ! 1022 1021 iflag_pdf_omp = 0 1023 callgetin('iflag_pdf',iflag_pdf_omp)1022 CALL getin('iflag_pdf',iflag_pdf_omp) 1024 1023 ! 1025 1024 !Config Key = fact_cldcon … … 1029 1028 ! 1030 1029 fact_cldcon_omp = 0.375 1031 callgetin('fact_cldcon',fact_cldcon_omp)1030 CALL getin('fact_cldcon',fact_cldcon_omp) 1032 1031 1033 1032 ! … … 1038 1037 ! 1039 1038 facttemps_omp = 1.e-4 1040 callgetin('facttemps',facttemps_omp)1039 CALL getin('facttemps',facttemps_omp) 1041 1040 1042 1041 ! 1043 1042 !Config Key = ok_newmicro 1044 1043 !Config Desc = 1045 !Config Def = . true.1046 !Config Help = 1047 ! 1048 ok_newmicro_omp = . true.1049 callgetin('ok_newmicro',ok_newmicro_omp)1044 !Config Def = .TRUE. 1045 !Config Help = 1046 ! 1047 ok_newmicro_omp = .TRUE. 1048 CALL getin('ok_newmicro',ok_newmicro_omp) 1050 1049 ! 1051 1050 !Config Key = ratqsbas … … 1055 1054 ! 1056 1055 ratqsbas_omp = 0.01 1057 callgetin('ratqsbas',ratqsbas_omp)1056 CALL getin('ratqsbas',ratqsbas_omp) 1058 1057 ! 1059 1058 !Config Key = ratqshaut … … 1063 1062 ! 1064 1063 ratqshaut_omp = 0.3 1065 callgetin('ratqshaut',ratqshaut_omp)1064 CALL getin('ratqshaut',ratqshaut_omp) 1066 1065 1067 1066 !Config Key = tau_ratqs … … 1071 1070 ! 1072 1071 tau_ratqs_omp = 1800. 1073 callgetin('tau_ratqs',tau_ratqs_omp)1072 CALL getin('tau_ratqs',tau_ratqs_omp) 1074 1073 1075 1074 ! … … 1083 1082 ! 1084 1083 solarlong0_omp = -999.999 1085 callgetin('solarlong0',solarlong0_omp)1084 CALL getin('solarlong0',solarlong0_omp) 1086 1085 ! 1087 1086 !----------------------------------------------------------------------- … … 1090 1089 ! Default value -1 to activate the full computation 1091 1090 qsol0_omp = -1. 1092 callgetin('qsol0',qsol0_omp)1091 CALL getin('qsol0',qsol0_omp) 1093 1092 evap0_omp = -1. 1094 callgetin('evap0',evap0_omp)1093 CALL getin('evap0',evap0_omp) 1095 1094 albsno0_omp = -1. 1096 callgetin('albsno0',albsno0_omp)1095 CALL getin('albsno0',albsno0_omp) 1097 1096 ! 1098 1097 !----------------------------------------------------------------------- … … 1104 1103 ! 1105 1104 inertie_ice_omp = 2000. 1106 callgetin('inertie_ice',inertie_ice_omp)1105 CALL getin('inertie_ice',inertie_ice_omp) 1107 1106 ! 1108 1107 !Config Key = inertie_sno … … 1112 1111 ! 1113 1112 inertie_sno_omp = 2000. 1114 callgetin('inertie_sno',inertie_sno_omp)1113 CALL getin('inertie_sno',inertie_sno_omp) 1115 1114 ! 1116 1115 !Config Key = inertie_sol … … 1120 1119 ! 1121 1120 inertie_sol_omp = 2000. 1122 callgetin('inertie_sol',inertie_sol_omp)1121 CALL getin('inertie_sol',inertie_sol_omp) 1123 1122 1124 1123 ! … … 1129 1128 ! 1130 1129 rad_froid_omp = 35.0 1131 callgetin('rad_froid',rad_froid_omp)1130 CALL getin('rad_froid',rad_froid_omp) 1132 1131 1133 1132 ! … … 1138 1137 ! 1139 1138 rad_chau1_omp = 13.0 1140 callgetin('rad_chau1',rad_chau1_omp)1139 CALL getin('rad_chau1',rad_chau1_omp) 1141 1140 1142 1141 ! … … 1147 1146 ! 1148 1147 rad_chau2_omp = 9.0 1149 callgetin('rad_chau2',rad_chau2_omp)1148 CALL getin('rad_chau2',rad_chau2_omp) 1150 1149 1151 1150 ! … … 1156 1155 ! 1157 1156 t_glace_min_omp = 258. 1158 callgetin('t_glace_min',t_glace_min_omp)1157 CALL getin('t_glace_min',t_glace_min_omp) 1159 1158 1160 1159 ! … … 1165 1164 ! 1166 1165 t_glace_max_omp = 273.13 1167 callgetin('t_glace_max',t_glace_max_omp)1166 CALL getin('t_glace_max',t_glace_max_omp) 1168 1167 1169 1168 ! … … 1174 1173 ! 1175 1174 exposant_glace_omp = 1. 1176 callgetin('exposant_glace',exposant_glace_omp)1175 CALL getin('exposant_glace',exposant_glace_omp) 1177 1176 1178 1177 ! … … 1183 1182 ! 1184 1183 iflag_t_glace_omp = 0 1185 callgetin('iflag_t_glace',iflag_t_glace_omp)1184 CALL getin('iflag_t_glace',iflag_t_glace_omp) 1186 1185 1187 1186 ! … … 1192 1191 ! 1193 1192 iflag_cloudth_vert_omp = 0 1194 callgetin('iflag_cloudth_vert',iflag_cloudth_vert_omp)1193 CALL getin('iflag_cloudth_vert',iflag_cloudth_vert_omp) 1195 1194 1196 1195 ! … … 1201 1200 ! 1202 1201 iflag_ice_thermo_omp = 0 1203 callgetin('iflag_ice_thermo',iflag_ice_thermo_omp)1202 CALL getin('iflag_ice_thermo',iflag_ice_thermo_omp) 1204 1203 1205 1204 !Config Key = rei_min … … 1209 1208 ! 1210 1209 rei_min_omp = 3.5 1211 callgetin('rei_min',rei_min_omp)1210 CALL getin('rei_min',rei_min_omp) 1212 1211 1213 1212 ! … … 1218 1217 ! 1219 1218 rei_max_omp = 61.29 1220 callgetin('rei_max',rei_max_omp)1219 CALL getin('rei_max',rei_max_omp) 1221 1220 1222 1221 ! … … 1227 1226 ! 1228 1227 top_height_omp = 3 1229 callgetin('top_height',top_height_omp)1228 CALL getin('top_height',top_height_omp) 1230 1229 1231 1230 ! … … 1236 1235 ! 1237 1236 overlap_omp = 3 1238 call getin('overlap',overlap_omp) 1239 1240 1241 ! 1237 CALL getin('overlap',overlap_omp) 1238 1242 1239 ! 1243 1240 !Config Key = cdmmax … … 1247 1244 ! 1248 1245 cdmmax_omp = 1.3E-3 1249 callgetin('cdmmax',cdmmax_omp)1246 CALL getin('cdmmax',cdmmax_omp) 1250 1247 1251 1248 ! … … 1256 1253 ! 1257 1254 cdhmax_omp = 1.1E-3 1258 callgetin('cdhmax',cdhmax_omp)1255 CALL getin('cdhmax',cdhmax_omp) 1259 1256 1260 1257 !261103 … … 1266 1263 ! 1267 1264 ksta_omp = 1.0e-10 1268 callgetin('ksta',ksta_omp)1265 CALL getin('ksta',ksta_omp) 1269 1266 1270 1267 ! … … 1275 1272 ! 1276 1273 ksta_ter_omp = 1.0e-10 1277 callgetin('ksta_ter',ksta_ter_omp)1274 CALL getin('ksta_ter',ksta_ter_omp) 1278 1275 1279 1276 !Config Key = f_ri_cd_min … … 1283 1280 ! 1284 1281 f_ri_cd_min_omp = 0.1 1285 callgetin('f_ri_cd_min',f_ri_cd_min_omp)1282 CALL getin('f_ri_cd_min',f_ri_cd_min_omp) 1286 1283 1287 1284 ! 1288 1285 !Config Key = ok_kzmin 1289 1286 !Config Desc = 1290 !Config Def = . true.1291 !Config Help = 1292 ! 1293 ok_kzmin_omp = . true.1294 callgetin('ok_kzmin',ok_kzmin_omp)1287 !Config Def = .TRUE. 1288 !Config Help = 1289 ! 1290 ok_kzmin_omp = .TRUE. 1291 CALL getin('ok_kzmin',ok_kzmin_omp) 1295 1292 1296 1293 pbl_lmixmin_alpha_omp=0.0 1297 call getin('pbl_lmixmin_alpha',pbl_lmixmin_alpha_omp) 1298 1294 CALL getin('pbl_lmixmin_alpha',pbl_lmixmin_alpha_omp) 1299 1295 1300 1296 ! … … 1305 1301 ! 1306 1302 fmagic_omp = 1. 1307 callgetin('fmagic',fmagic_omp)1303 CALL getin('fmagic',fmagic_omp) 1308 1304 1309 1305 ! … … 1314 1310 ! 1315 1311 pmagic_omp = 0. 1316 callgetin('pmagic',pmagic_omp)1312 CALL getin('pmagic',pmagic_omp) 1317 1313 1318 1314 1319 1315 !Config Key = ok_lic_melt 1320 1316 !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau 1321 !Config Def = . false.1322 !Config Help = mettre a . false. pour assurer la conservation en eau1323 ok_lic_melt_omp = . false.1324 callgetin('ok_lic_melt', ok_lic_melt_omp)1317 !Config Def = .FALSE. 1318 !Config Help = mettre a .FALSE. pour assurer la conservation en eau 1319 ok_lic_melt_omp = .FALSE. 1320 CALL getin('ok_lic_melt', ok_lic_melt_omp) 1325 1321 1326 1322 ! … … 1334 1330 ! 1335 1331 iflag_pbl_omp = 1 1336 callgetin('iflag_pbl',iflag_pbl_omp)1332 CALL getin('iflag_pbl',iflag_pbl_omp) 1337 1333 ! 1338 1334 !Config Key = iflag_pbl_split … … 1342 1338 ! 1343 1339 iflag_pbl_split_omp = 0 1344 callgetin('iflag_pbl_split',iflag_pbl_split_omp)1340 CALL getin('iflag_pbl_split',iflag_pbl_split_omp) 1345 1341 ! 1346 1342 !Config Key = iflag_order2_sollw … … 1350 1346 ! 1351 1347 iflag_order2_sollw_omp = 0 1352 callgetin('iflag_order2_sollw',iflag_order2_sollw_omp)1348 CALL getin('iflag_order2_sollw',iflag_order2_sollw_omp) 1353 1349 ! 1354 1350 !Config Key = iflag_thermals … … 1358 1354 ! 1359 1355 iflag_thermals_omp = 0 1360 callgetin('iflag_thermals',iflag_thermals_omp)1356 CALL getin('iflag_thermals',iflag_thermals_omp) 1361 1357 ! 1362 1358 !Config Key = iflag_thermals_ed … … 1367 1363 fact_thermals_ed_dz_omp = 0.1 1368 1364 1369 callgetin('fact_thermals_ed_dz',fact_thermals_ed_dz_omp)1365 CALL getin('fact_thermals_ed_dz',fact_thermals_ed_dz_omp) 1370 1366 ! 1371 1367 ! … … 1376 1372 ! 1377 1373 iflag_thermals_ed_omp = 0 1378 callgetin('iflag_thermals_ed',iflag_thermals_ed_omp)1374 CALL getin('iflag_thermals_ed',iflag_thermals_ed_omp) 1379 1375 ! 1380 1376 ! … … 1385 1381 ! 1386 1382 iflag_thermals_optflux_omp = 0 1387 callgetin('iflag_thermals_optflux',iflag_thermals_optflux_omp)1383 CALL getin('iflag_thermals_optflux',iflag_thermals_optflux_omp) 1388 1384 ! 1389 1385 !Config Key = iflag_thermals_closure … … 1393 1389 ! 1394 1390 iflag_thermals_closure_omp = 1 1395 call getin('iflag_thermals_closure',iflag_thermals_closure_omp) 1396 ! 1397 ! 1398 ! 1391 CALL getin('iflag_thermals_closure',iflag_thermals_closure_omp) 1399 1392 ! 1400 1393 !Config Key = nsplit_thermals … … 1404 1397 ! 1405 1398 nsplit_thermals_omp = 1 1406 callgetin('nsplit_thermals',nsplit_thermals_omp)1399 CALL getin('nsplit_thermals',nsplit_thermals_omp) 1407 1400 1408 1401 !Config Key = alp_bl_k … … 1412 1405 ! 1413 1406 alp_bl_k_omp = 1. 1414 callgetin('alp_bl_k',alp_bl_k_omp)1407 CALL getin('alp_bl_k',alp_bl_k_omp) 1415 1408 1416 1409 ! nrlmd le 10/04/2012 … … 1422 1415 ! 1423 1416 iflag_trig_bl_omp = 0 1424 callgetin('iflag_trig_bl',iflag_trig_bl_omp)1417 CALL getin('iflag_trig_bl',iflag_trig_bl_omp) 1425 1418 1426 1419 !Config Key = s_trig_bl … … 1430 1423 ! 1431 1424 s_trig_omp = 2e7 1432 callgetin('s_trig',s_trig_omp)1425 CALL getin('s_trig',s_trig_omp) 1433 1426 1434 1427 !Config Key = tau_trig_shallow … … 1438 1431 ! 1439 1432 tau_trig_shallow_omp = 600 1440 callgetin('tau_trig_shallow',tau_trig_shallow_omp)1433 CALL getin('tau_trig_shallow',tau_trig_shallow_omp) 1441 1434 1442 1435 !Config Key = tau_trig_deep … … 1446 1439 ! 1447 1440 tau_trig_deep_omp = 1800 1448 callgetin('tau_trig_deep',tau_trig_deep_omp)1441 CALL getin('tau_trig_deep',tau_trig_deep_omp) 1449 1442 1450 1443 !Config Key = iflag_clos_bl … … 1454 1447 ! 1455 1448 iflag_clos_bl_omp = 0 1456 callgetin('iflag_clos_bl',iflag_clos_bl_omp)1449 CALL getin('iflag_clos_bl',iflag_clos_bl_omp) 1457 1450 1458 1451 ! fin nrlmd le 10/04/2012 … … 1465 1458 ! 1466 1459 tau_thermals_omp = 0. 1467 callgetin('tau_thermals',tau_thermals_omp)1460 CALL getin('tau_thermals',tau_thermals_omp) 1468 1461 1469 1462 ! … … 1474 1467 ! 1475 1468 iflag_coupl_omp = 0 1476 callgetin('iflag_coupl',iflag_coupl_omp)1469 CALL getin('iflag_coupl',iflag_coupl_omp) 1477 1470 1478 1471 ! … … 1483 1476 ! 1484 1477 iflag_clos_omp = 1 1485 callgetin('iflag_clos',iflag_clos_omp)1478 CALL getin('iflag_clos',iflag_clos_omp) 1486 1479 ! 1487 1480 !Config Key = coef_clos_ls … … 1491 1484 ! 1492 1485 coef_clos_ls_omp = 0. 1493 callgetin('coef_clos_ls',coef_clos_ls_omp)1486 CALL getin('coef_clos_ls',coef_clos_ls_omp) 1494 1487 1495 1488 ! … … 1500 1493 ! 1501 1494 iflag_cvl_sigd_omp = 0 1502 callgetin('iflag_cvl_sigd',iflag_cvl_sigd_omp)1495 CALL getin('iflag_cvl_sigd',iflag_cvl_sigd_omp) 1503 1496 1504 1497 !Config Key = iflag_wake … … 1508 1501 ! 1509 1502 iflag_wake_omp = 0 1510 callgetin('iflag_wake',iflag_wake_omp)1503 CALL getin('iflag_wake',iflag_wake_omp) 1511 1504 1512 1505 !Config Key = alp_offset … … 1516 1509 ! 1517 1510 alp_offset_omp = 0. 1518 callgetin('alp_offset',alp_offset_omp)1511 CALL getin('alp_offset',alp_offset_omp) 1519 1512 1520 1513 ! … … 1525 1518 ! 1526 1519 lev_histhf_omp = 1 1527 callgetin('lev_histhf',lev_histhf_omp)1520 CALL getin('lev_histhf',lev_histhf_omp) 1528 1521 1529 1522 ! … … 1534 1527 ! 1535 1528 lev_histday_omp = 1 1536 callgetin('lev_histday',lev_histday_omp)1529 CALL getin('lev_histday',lev_histday_omp) 1537 1530 1538 1531 ! … … 1543 1536 ! 1544 1537 lev_histmth_omp = 2 1545 callgetin('lev_histmth',lev_histmth_omp)1538 CALL getin('lev_histmth',lev_histmth_omp) 1546 1539 ! 1547 1540 !Config Key = lev_histins … … 1551 1544 ! 1552 1545 lev_histins_omp = 1 1553 callgetin('lev_histins',lev_histins_omp)1546 CALL getin('lev_histins',lev_histins_omp) 1554 1547 ! 1555 1548 !Config Key = lev_histLES … … 1559 1552 ! 1560 1553 lev_histLES_omp = 1 1561 callgetin('lev_histLES',lev_histLES_omp)1554 CALL getin('lev_histLES',lev_histLES_omp) 1562 1555 ! 1563 1556 !Config Key = lev_histdayNMC … … 1567 1560 ! 1568 1561 lev_histdayNMC_omp = 8 1569 callgetin('lev_histdayNMC',lev_histdayNMC_omp)1562 CALL getin('lev_histdayNMC',lev_histdayNMC_omp) 1570 1563 ! 1571 1564 !Config Key = levout_histNMC … … 1577 1570 levout_histNMC_omp(2) = 5 1578 1571 levout_histNMC_omp(3) = 5 1579 callgetin('levout_histNMC',levout_histNMC_omp)1572 CALL getin('levout_histNMC',levout_histNMC_omp) 1580 1573 ! 1581 1574 !histNMC BEG … … 1587 1580 !Config Help = 1588 1581 ! 1589 ok_histNMC_omp(1) = . false.1590 ok_histNMC_omp(2) = . false.1591 ok_histNMC_omp(3) = . false.1592 callgetin('ok_histNMC',ok_histNMC_omp)1582 ok_histNMC_omp(1) = .FALSE. 1583 ok_histNMC_omp(2) = .FALSE. 1584 ok_histNMC_omp(3) = .FALSE. 1585 CALL getin('ok_histNMC',ok_histNMC_omp) 1593 1586 ! 1594 1587 !Config Key = freq_outNMC … … 1602 1595 freq_outNMC_omp(2) = 1. 1603 1596 freq_outNMC_omp(3) = 1./4. 1604 callgetin('freq_outNMC',freq_outNMC_omp)1597 CALL getin('freq_outNMC',freq_outNMC_omp) 1605 1598 ! 1606 1599 !Config Key = freq_calNMC … … 1614 1607 freq_calNMC_omp(2) = pasphys 1615 1608 freq_calNMC_omp(3) = pasphys 1616 callgetin('freq_calNMC',freq_calNMC_omp)1609 CALL getin('freq_calNMC',freq_calNMC_omp) 1617 1610 ! 1618 1611 !Config Key = type_run … … 1622 1615 ! 1623 1616 type_run_omp = 'AMIP' 1624 callgetin('type_run',type_run_omp)1617 CALL getin('type_run',type_run_omp) 1625 1618 1626 1619 ! 1627 1620 !Config Key = ok_cosp 1628 1621 !Config Desc = 1629 !Config Def = . false.1630 !Config Help = 1631 ! 1632 ok_cosp_omp = . false.1633 callgetin('ok_cosp',ok_cosp_omp)1622 !Config Def = .FALSE. 1623 !Config Help = 1624 ! 1625 ok_cosp_omp = .FALSE. 1626 CALL getin('ok_cosp',ok_cosp_omp) 1634 1627 1635 1628 ! 1636 1629 !Config Key = ok_airs 1637 1630 !Config Desc = 1638 !Config Def = . false.1639 !Config Help = 1640 ! 1641 ok_airs_omp = . false.1642 callgetin('ok_airs',ok_airs_omp)1631 !Config Def = .FALSE. 1632 !Config Help = 1633 ! 1634 ok_airs_omp = .FALSE. 1635 CALL getin('ok_airs',ok_airs_omp) 1643 1636 1644 1637 ! 1645 1638 !Config Key = ok_mensuelCOSP 1646 1639 !Config Desc = 1647 !Config Def = . true.1648 !Config Help = 1649 ! 1650 ok_mensuelCOSP_omp = . true.1651 callgetin('ok_mensuelCOSP',ok_mensuelCOSP_omp)1640 !Config Def = .TRUE. 1641 !Config Help = 1642 ! 1643 ok_mensuelCOSP_omp = .TRUE. 1644 CALL getin('ok_mensuelCOSP',ok_mensuelCOSP_omp) 1652 1645 1653 1646 ! 1654 1647 !Config Key = ok_journeCOSP 1655 1648 !Config Desc = 1656 !Config Def = . true.1657 !Config Help = 1658 ! 1659 ok_journeCOSP_omp = . true.1660 callgetin('ok_journeCOSP',ok_journeCOSP_omp)1649 !Config Def = .TRUE. 1650 !Config Help = 1651 ! 1652 ok_journeCOSP_omp = .TRUE. 1653 CALL getin('ok_journeCOSP',ok_journeCOSP_omp) 1661 1654 1662 1655 ! 1663 1656 !Config Key = ok_hfCOSP 1664 1657 !Config Desc = 1665 !Config Def = . false.1666 !Config Help = 1667 ! 1668 ok_hfCOSP_omp = . false.1669 callgetin('ok_hfCOSP',ok_hfCOSP_omp)1658 !Config Def = .FALSE. 1659 !Config Help = 1660 ! 1661 ok_hfCOSP_omp = .FALSE. 1662 CALL getin('ok_hfCOSP',ok_hfCOSP_omp) 1670 1663 1671 1664 ! … … 1679 1672 ! 1680 1673 lonmin_ins_omp = 100. 1681 callgetin('lonmin_ins',lonmin_ins_omp)1674 CALL getin('lonmin_ins',lonmin_ins_omp) 1682 1675 ! 1683 1676 !Config Key = lonmax_ins … … 1687 1680 ! 1688 1681 lonmax_ins_omp = 130. 1689 callgetin('lonmax_ins',lonmax_ins_omp)1682 CALL getin('lonmax_ins',lonmax_ins_omp) 1690 1683 ! 1691 1684 !Config Key = latmin_ins … … 1695 1688 ! 1696 1689 latmin_ins_omp = -20. 1697 callgetin('latmin_ins',latmin_ins_omp)1690 CALL getin('latmin_ins',latmin_ins_omp) 1698 1691 ! 1699 1692 !Config Key = latmax_ins … … 1703 1696 ! 1704 1697 latmax_ins_omp = 20. 1705 callgetin('latmax_ins',latmax_ins_omp)1698 CALL getin('latmax_ins',latmax_ins_omp) 1706 1699 ! 1707 1700 !Config Key = ecrit_hf … … 1711 1704 ! 1712 1705 ecrit_hf_omp = 1./8. 1713 callgetin('ecrit_hf',ecrit_hf_omp)1706 CALL getin('ecrit_hf',ecrit_hf_omp) 1714 1707 ! 1715 1708 !Config Key = ecrit_ins … … 1719 1712 ! 1720 1713 ecrit_ins_omp = 1./48. 1721 callgetin('ecrit_ins',ecrit_ins_omp)1714 CALL getin('ecrit_ins',ecrit_ins_omp) 1722 1715 ! 1723 1716 !Config Key = ecrit_day … … 1727 1720 ! 1728 1721 ecrit_day_omp = 1.0 1729 callgetin('ecrit_day',ecrit_day_omp)1722 CALL getin('ecrit_day',ecrit_day_omp) 1730 1723 ! 1731 1724 !Config Key = ecrit_mth … … 1735 1728 ! 1736 1729 ecrit_mth_omp = 30. 1737 callgetin('ecrit_mth',ecrit_mth_omp)1730 CALL getin('ecrit_mth',ecrit_mth_omp) 1738 1731 ! 1739 1732 !Config Key = ecrit_tra … … 1743 1736 ! 1744 1737 ecrit_tra_omp = 0. 1745 callgetin('ecrit_tra',ecrit_tra_omp)1738 CALL getin('ecrit_tra',ecrit_tra_omp) 1746 1739 ! 1747 1740 !Config Key = ecrit_reg … … 1751 1744 ! 1752 1745 ecrit_reg_omp = 0.25 !4 fois par jour 1753 callgetin('ecrit_reg',ecrit_reg_omp)1746 CALL getin('ecrit_reg',ecrit_reg_omp) 1754 1747 ! 1755 1748 ! … … 1759 1752 ! 1760 1753 f_cdrag_ter_omp = 0.8 1761 callgetin('f_cdrag_ter',f_cdrag_ter_omp)1754 CALL getin('f_cdrag_ter',f_cdrag_ter_omp) 1762 1755 ! 1763 1756 f_cdrag_oce_omp = 0.8 1764 callgetin('f_cdrag_oce',f_cdrag_oce_omp)1757 CALL getin('f_cdrag_oce',f_cdrag_oce_omp) 1765 1758 ! 1766 1759 1767 1760 ! Gustiness flags 1768 1761 f_z0qh_oce_omp = 1. 1769 callgetin('f_z0qh_oce',f_z0qh_oce_omp)1762 CALL getin('f_z0qh_oce',f_z0qh_oce_omp) 1770 1763 ! 1771 1764 f_qsat_oce_omp = 1. 1772 callgetin('f_qsat_oce',f_qsat_oce_omp)1765 CALL getin('f_qsat_oce',f_qsat_oce_omp) 1773 1766 ! 1774 1767 f_gust_bl_omp = 0. 1775 callgetin('f_gust_bl',f_gust_bl_omp)1768 CALL getin('f_gust_bl',f_gust_bl_omp) 1776 1769 ! 1777 1770 f_gust_wk_omp = 0. 1778 callgetin('f_gust_wk',f_gust_wk_omp)1771 CALL getin('f_gust_wk',f_gust_wk_omp) 1779 1772 ! 1780 1773 !Config Key = iflag_z0_oce … … 1784 1777 ! 1785 1778 iflag_z0_oce_omp=0 1786 callgetin('iflag_z0_oce',iflag_z0_oce_omp)1779 CALL getin('iflag_z0_oce',iflag_z0_oce_omp) 1787 1780 ! 1788 1781 iflag_gusts_omp=0 1789 callgetin('iflag_gusts',iflag_gusts_omp)1782 CALL getin('iflag_gusts',iflag_gusts_omp) 1790 1783 ! 1791 1784 min_wind_speed_omp = 1. 1792 callgetin('min_wind_speed',min_wind_speed_omp)1793 1794 z0m_seaice_omp = 0.002 ; callgetin('z0m_seaice',z0m_seaice_omp)1795 z0h_seaice_omp = 0.002 ; callgetin('z0h_seaice',z0h_seaice_omp)1785 CALL getin('min_wind_speed',min_wind_speed_omp) 1786 1787 z0m_seaice_omp = 0.002 ; CALL getin('z0m_seaice',z0m_seaice_omp) 1788 z0h_seaice_omp = 0.002 ; CALL getin('z0h_seaice',z0h_seaice_omp) 1796 1789 1797 1790 f_rugoro_omp = 0. 1798 callgetin('f_rugoro',f_rugoro_omp)1791 CALL getin('f_rugoro',f_rugoro_omp) 1799 1792 1800 1793 z0min_omp = 0.000015 1801 callgetin('z0min',z0min_omp)1794 CALL getin('z0min',z0min_omp) 1802 1795 1803 1796 … … 1810 1803 ! 1811 1804 supcrit1_omp = .540 1812 callgetin('supcrit1',supcrit1_omp)1805 CALL getin('supcrit1',supcrit1_omp) 1813 1806 1814 1807 ! … … 1819 1812 ! 1820 1813 supcrit2_omp = .600 1821 callgetin('supcrit2',supcrit2_omp)1814 CALL getin('supcrit2',supcrit2_omp) 1822 1815 1823 1816 ! … … 1834 1827 ! 1835 1828 iflag_mix_omp = 1 1836 callgetin('iflag_mix',iflag_mix_omp)1829 CALL getin('iflag_mix',iflag_mix_omp) 1837 1830 1838 1831 ! … … 1848 1841 ! 1849 1842 iflag_mix_adiab_omp = 0 1850 callgetin('iflag_mix_adiab',iflag_mix_adiab_omp)1843 CALL getin('iflag_mix_adiab',iflag_mix_adiab_omp) 1851 1844 1852 1845 ! … … 1857 1850 ! 1858 1851 scut_omp = 0.95 1859 callgetin('scut',scut_omp)1852 CALL getin('scut',scut_omp) 1860 1853 1861 1854 ! … … 1866 1859 ! 1867 1860 qqa1_omp = 1.0 1868 callgetin('qqa1',qqa1_omp)1861 CALL getin('qqa1',qqa1_omp) 1869 1862 1870 1863 ! … … 1875 1868 ! 1876 1869 qqa2_omp = 0.0 1877 callgetin('qqa2',qqa2_omp)1870 CALL getin('qqa2',qqa2_omp) 1878 1871 1879 1872 ! … … 1884 1877 ! 1885 1878 gammas_omp = 0.05 1886 callgetin('gammas',gammas_omp)1879 CALL getin('gammas',gammas_omp) 1887 1880 1888 1881 ! … … 1893 1886 ! 1894 1887 Fmax_omp = 0.65 1895 callgetin('Fmax',Fmax_omp)1888 CALL getin('Fmax',Fmax_omp) 1896 1889 1897 1890 ! … … 1902 1895 ! 1903 1896 tmax_fonte_cv_omp = 275.15 1904 callgetin('tmax_fonte_cv',tmax_fonte_cv_omp)1897 CALL getin('tmax_fonte_cv',tmax_fonte_cv_omp) 1905 1898 1906 1899 ! … … 1911 1904 ! 1912 1905 alphas_omp = -5. 1913 callgetin('alphas',alphas_omp)1906 CALL getin('alphas',alphas_omp) 1914 1907 1915 1908 !Config key = ok_strato … … 1986 1979 !Config Key = OK_LES 1987 1980 !Config Desc = Pour des sorties LES 1988 !Config Def = . false.1981 !Config Def = .FALSE. 1989 1982 !Config Help = Pour creer le fichier histLES contenant les sorties 1990 1983 ! LES 1991 1984 ! 1992 ok_LES_omp = . false.1993 callgetin('OK_LES', ok_LES_omp)1985 ok_LES_omp = .FALSE. 1986 CALL getin('OK_LES', ok_LES_omp) 1994 1987 1995 1988 !Config Key = callstats 1996 1989 !Config Desc = Pour des sorties callstats 1997 !Config Def = . false.1990 !Config Def = .FALSE. 1998 1991 !Config Help = Pour creer le fichier stats contenant les sorties 1999 1992 ! stats 2000 1993 ! 2001 callstats_omp = . false.2002 callgetin('callstats', callstats_omp)1994 callstats_omp = .FALSE. 1995 CALL getin('callstats', callstats_omp) 2003 1996 ! 2004 1997 !Config Key = ecrit_LES … … 2010 2003 ! 2011 2004 ecrit_LES_omp = 1./8. 2012 callgetin('ecrit_LES', ecrit_LES_omp)2005 CALL getin('ecrit_LES', ecrit_LES_omp) 2013 2006 ! 2014 2007 read_climoz = 0 ! default value 2015 callgetin('read_climoz', read_climoz)2008 CALL getin('read_climoz', read_climoz) 2016 2009 2017 2010 carbon_cycle_tr_omp=.FALSE. … … 2124 2117 t_coupl = t_coupl_omp 2125 2118 2126 ok_veget=. true.2119 ok_veget=.TRUE. 2127 2120 type_veget=type_veget_omp 2128 if (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') & 2129 then 2130 ok_veget=.false. 2131 endif 2121 IF (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') THEN 2122 ok_veget=.FALSE. 2123 ENDIF 2132 2124 ! Martin 2133 2125 ok_snow = ok_snow_omp … … 2226 2218 iflag_z0_oce=iflag_z0_oce_omp 2227 2219 2228 2229 2220 z0m_seaice=z0m_seaice_omp 2230 2221 z0h_seaice=z0h_seaice_omp … … 2270 2261 WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration' 2271 2262 CALL abort_physic('conf_phys','version_ocean not valid',1) 2272 END 2263 ENDIF 2273 2264 2274 2265 IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN … … 2278 2269 WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean' 2279 2270 CALL abort_physic('conf_phys','version_ocean not valid',1) 2280 END 2271 ENDIF 2281 2272 2282 2273 !--test on radiative scheme … … 2300 2291 CALL abort_physic('conf_phys','iflag_rrtm not valid for StratAer',1) 2301 2292 ENDIF 2293 IF (NSW .NE. 6) THEN 2294 WRITE(lunout,*) ' ERROR NSW<>6 but StratAer activated' 2295 CALL abort_physic('conf_phys','NSW not valid for StratAer',1) 2296 ENDIF 2302 2297 #endif 2303 2298 … … 2313 2308 IF ( flag_aerosol .EQ. 0 ) THEN 2314 2309 CALL abort_physic('conf_phys','flag_aerosol=0 not compatible avec ok_ade ou ok_aie=.TRUE.',1) 2315 END 2310 ENDIF 2316 2311 IF ( .NOT. new_aod .AND. flag_aerosol .NE. 1) THEN 2317 2312 CALL abort_physic('conf_phys','new_aod=.FALSE. not compatible avec flag_aerosol=1',1) 2318 END 2319 END 2313 ENDIF 2314 ENDIF 2320 2315 2321 2316 ! Flag_aerosol cannot be to zero if we are in coupled mode for aerosol … … 2539 2534 !$OMP END MASTER 2540 2535 2541 return2542 2543 end subroutineconf_phys2544 2545 end moduleconf_phys_m2536 RETURN 2537 2538 END SUBROUTINE conf_phys 2539 2540 END MODULE conf_phys_m 2546 2541 ! 2547 2542 !################################################################# 2548 2543 ! 2549 2544 2550 subroutineconf_interface(tau_calv)2551 2552 useIOIPSL2545 SUBROUTINE conf_interface(tau_calv) 2546 2547 USE IOIPSL 2553 2548 USE print_control_mod, ONLY: lunout 2554 implicit none2549 IMPLICIT NONE 2555 2550 ! Configuration de l'interace atm/surf 2556 2551 ! … … 2568 2563 tau_calv_omp = 360.*10. 2569 2564 !$OMP MASTER 2570 callgetin('tau_calv',tau_calv_omp)2565 CALL getin('tau_calv',tau_calv_omp) 2571 2566 !$OMP END MASTER 2572 2567 !$OMP BARRIER … … 2580 2575 !$OMP END MASTER 2581 2576 2582 return2583 2584 end subroutineconf_interface2577 RETURN 2578 2579 END SUBROUTINE conf_interface
Note: See TracChangeset
for help on using the changeset viewer.