Changeset 2720 for LMDZ5/branches/testing/libf/phylmd/conf_phys_m.F90
- Timestamp:
- Nov 30, 2016, 1:28:41 PM (8 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2665-2668,2670-2674,2677-2681,2683-2684,2686,2690-2719
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/conf_phys_m.F90
r2669 r2720 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 R eal,SAVE:: f_cdrag_ter_omp,f_cdrag_oce_omp121 R eal,SAVE:: f_rugoro_omp , z0min_omp122 R eal,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 I nteger, 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 209 INTEGER, SAVE :: nbapp_cv_omp 210 210 INTEGER, SAVE :: iflag_ener_conserv_omp 211 211 LOGICAL, SAVE :: ok_conserv_q_omp 212 212 INTEGER, SAVE :: iflag_fisrtilp_qsat_omp 213 213 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 shared214 LOGICAL,SAVE :: ok_strato_omp 215 LOGICAL,SAVE :: ok_hines_omp, ok_gwd_rando_omp 216 REAL, SAVE :: gwd_rando_ruwmax_omp, gwd_rando_sat_omp 217 REAL, SAVE :: gwd_front_ruwmax_omp, gwd_front_sat_omp 218 REAL, SAVE :: sso_gkdrag_omp,sso_grahil_omp,sso_grcrit_omp 219 REAL, SAVE :: sso_gfrcri_omp,sso_gkwake_omp,sso_gklift_omp 220 LOGICAL,SAVE :: ok_qch4_omp 221 LOGICAL,SAVE :: carbon_cycle_tr_omp 222 LOGICAL,SAVE :: carbon_cycle_cpl_omp 223 224 INTEGER, INTENT(OUT):: read_climoz ! read ozone climatology, OpenMP shared 225 225 ! Allowed values are 0, 1 and 2 226 226 ! 0: do not read an ozone climatology … … 239 239 ! 240 240 type_ocean_omp = 'force ' 241 callgetin('type_ocean', type_ocean_omp)241 CALL getin('type_ocean', type_ocean_omp) 242 242 ! 243 243 !Config Key = version_ocean … … 247 247 ! 248 248 version_ocean_omp = 'xxxxxx' 249 callgetin('version_ocean', version_ocean_omp)249 CALL getin('version_ocean', version_ocean_omp) 250 250 251 251 !Config Key = OCEAN … … 255 255 ! 256 256 ocean_omp = 'yyyyyy' 257 callgetin('OCEAN', ocean_omp)257 CALL getin('OCEAN', ocean_omp) 258 258 IF (ocean_omp /= 'yyyyyy') THEN 259 259 WRITE(lunout,*)'ERROR! Old variable name OCEAN used in parmeter file.' … … 261 261 WRITE(lunout,*)'You have to update your parameter file physiq.def to succed running' 262 262 CALL abort_physic('conf_phys','Variable OCEAN no longer existing, use variable name type_ocean',1) 263 END 263 ENDIF 264 264 265 265 !Config Key = t_coupl … … 269 269 ! 270 270 t_coupl_omp = 86400. 271 callgetin('t_coupl', t_coupl_omp)271 CALL getin('t_coupl', t_coupl_omp) 272 272 IF (t_coupl_omp == 0) THEN 273 273 WRITE(lunout,*)'ERROR! Timestep of coupling between atmosphere and ocean' 274 274 WRITE(lunout,*)'cannot be zero.' 275 275 CALL abort_physic('conf_phys','t_coupl = 0.',1) 276 END 276 ENDIF 277 277 278 278 ! 279 279 !Config Key = ok_all_xml 280 280 !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)281 !Config Def = .FALSE. 282 !Config Help = 283 ! 284 ok_all_xml_omp = .FALSE. 285 CALL getin('ok_all_xml', ok_all_xml_omp) 286 286 ! 287 287 … … 289 289 !Config Key = VEGET 290 290 !Config Desc = Type de modele de vegetation 291 !Config Def = . false.291 !Config Def = .FALSE. 292 292 !Config Help = Type de modele de vegetation utilise 293 293 ! 294 294 type_veget_omp ='orchidee' 295 callgetin('VEGET', type_veget_omp)295 CALL getin('VEGET', type_veget_omp) 296 296 ! 297 297 … … 299 299 !Config Key = ok_snow 300 300 !Config Desc = Flag to activate snow model SISVAT 301 !Config Def = . false.302 ok_snow_omp = . false.303 callgetin('ok_snow', ok_snow_omp)301 !Config Def = .FALSE. 302 ok_snow_omp = .FALSE. 303 CALL getin('ok_snow', ok_snow_omp) 304 304 ! Martin 305 305 306 306 !Config Key = OK_journe 307 307 !Config Desc = Pour des sorties journalieres 308 !Config Def = . false.308 !Config Def = .FALSE. 309 309 !Config Help = Pour creer le fichier histday contenant les sorties 310 310 ! journalieres 311 311 ! 312 ok_journe_omp = . false.313 callgetin('OK_journe', ok_journe_omp)312 ok_journe_omp = .FALSE. 313 CALL getin('OK_journe', ok_journe_omp) 314 314 ! 315 315 !Config Key = ok_hf 316 316 !Config Desc = Pour des sorties haute frequence 317 !Config Def = . false.317 !Config Def = .FALSE. 318 318 !Config Help = Pour creer le fichier histhf contenant les sorties 319 319 ! haute frequence ( 3h ou 6h) 320 320 ! 321 ok_hf_omp = . false.322 callgetin('ok_hf', ok_hf_omp)321 ok_hf_omp = .FALSE. 322 CALL getin('ok_hf', ok_hf_omp) 323 323 ! 324 324 !Config Key = OK_mensuel 325 325 !Config Desc = Pour des sorties mensuelles 326 !Config Def = . true.326 !Config Def = .TRUE. 327 327 !Config Help = Pour creer le fichier histmth contenant les sorties 328 328 ! mensuelles 329 329 ! 330 ok_mensuel_omp = . true.331 callgetin('OK_mensuel', ok_mensuel_omp)330 ok_mensuel_omp = .TRUE. 331 CALL getin('OK_mensuel', ok_mensuel_omp) 332 332 ! 333 333 !Config Key = OK_instan 334 334 !Config Desc = Pour des sorties instantanees 335 !Config Def = . false.335 !Config Def = .FALSE. 336 336 !Config Help = Pour creer le fichier histins contenant les sorties 337 337 ! instantanees 338 338 ! 339 ok_instan_omp = . false.340 callgetin('OK_instan', ok_instan_omp)339 ok_instan_omp = .FALSE. 340 CALL getin('OK_instan', ok_instan_omp) 341 341 ! 342 342 !Config Key = ok_ade 343 343 !Config Desc = Aerosol direct effect or not? 344 !Config Def = . false.344 !Config Def = .FALSE. 345 345 !Config Help = Used in radlwsw.F 346 346 ! 347 ok_ade_omp = . false.348 callgetin('ok_ade', ok_ade_omp)347 ok_ade_omp = .FALSE. 348 CALL getin('ok_ade', ok_ade_omp) 349 349 350 350 ! 351 351 !Config Key = ok_aie 352 352 !Config Desc = Aerosol indirect effect or not? 353 !Config Def = . false.353 !Config Def = .FALSE. 354 354 !Config Help = Used in nuage.F and radlwsw.F 355 355 ! 356 ok_aie_omp = . false.357 callgetin('ok_aie', ok_aie_omp)356 ok_aie_omp = .FALSE. 357 CALL getin('ok_aie', ok_aie_omp) 358 358 359 359 ! 360 360 !Config Key = ok_cdnc 361 361 !Config Desc = ok cloud droplet number concentration 362 !Config Def = . false.362 !Config Def = .FALSE. 363 363 !Config Help = Used in newmicro.F 364 364 ! 365 ok_cdnc_omp = . false.366 callgetin('ok_cdnc', ok_cdnc_omp)365 ok_cdnc_omp = .FALSE. 366 CALL getin('ok_cdnc', ok_cdnc_omp) 367 367 ! 368 368 !Config Key = aerosol_couple 369 369 !Config Desc = read aerosol in file or calcul by inca 370 !Config Def = . false.370 !Config Def = .FALSE. 371 371 !Config Help = Used in physiq.F 372 372 ! 373 aerosol_couple_omp = . false.373 aerosol_couple_omp = .FALSE. 374 374 CALL getin('aerosol_couple',aerosol_couple_omp) 375 375 ! … … 410 410 !Config Help = Used in physiq.F / aeropt 411 411 ! 412 flag_bc_internal_mixture_omp = . false.412 flag_bc_internal_mixture_omp = .FALSE. 413 413 CALL getin('flag_bc_internal_mixture',flag_bc_internal_mixture_omp) 414 414 … … 416 416 !Config Key = new_aod 417 417 !Config Desc = which calcul of aeropt 418 !Config Def = false418 !Config Def = FALSE 419 419 !Config Help = Used in physiq.F 420 420 ! 421 new_aod_omp = . true.421 new_aod_omp = .TRUE. 422 422 CALL getin('new_aod',new_aod_omp) 423 423 … … 429 429 ! 430 430 aer_type_omp = 'scenario' 431 callgetin('aer_type', aer_type_omp)431 CALL getin('aer_type', aer_type_omp) 432 432 433 433 ! 434 434 !Config Key = bl95_b0 435 435 !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995) 436 !Config Def = . false.436 !Config Def = .FALSE. 437 437 !Config Help = Used in nuage.F 438 438 ! 439 439 bl95_b0_omp = 2. 440 callgetin('bl95_b0', bl95_b0_omp)440 CALL getin('bl95_b0', bl95_b0_omp) 441 441 442 442 !Config Key = bl95_b1 443 443 !Config Desc = Parameter in CDNC-maer link (Boucher&Lohmann 1995) 444 !Config Def = . false.444 !Config Def = .FALSE. 445 445 !Config Help = Used in nuage.F 446 446 ! 447 447 bl95_b1_omp = 0.2 448 callgetin('bl95_b1', bl95_b1_omp)448 CALL getin('bl95_b1', bl95_b1_omp) 449 449 450 450 !Config Key = freq_ISCCP … … 455 455 ! 456 456 freq_ISCCP_omp = 10800. 457 callgetin('freq_ISCCP', freq_ISCCP_omp)457 CALL getin('freq_ISCCP', freq_ISCCP_omp) 458 458 ! 459 459 !Config Key = ecrit_ISCCP … … 465 465 ! 466 466 ecrit_ISCCP_omp = 1. 467 callgetin('ecrit_ISCCP', ecrit_ISCCP_omp)467 CALL getin('ecrit_ISCCP', ecrit_ISCCP_omp) 468 468 469 469 !Config Key = freq_COSP … … 474 474 ! 475 475 freq_COSP_omp = 10800. 476 callgetin('freq_COSP', freq_COSP_omp)476 CALL getin('freq_COSP', freq_COSP_omp) 477 477 478 478 !Config Key = freq_AIRS … … 483 483 ! 484 484 freq_AIRS_omp = 10800. 485 callgetin('freq_AIRS', freq_AIRS_omp)485 CALL getin('freq_AIRS', freq_AIRS_omp) 486 486 487 487 ! … … 492 492 ! 493 493 ip_ebil_phy_omp = 0 494 call getin('ip_ebil_phy', ip_ebil_phy_omp) 494 CALL getin('ip_ebil_phy', ip_ebil_phy_omp) 495 IF (ip_ebil_phy_omp/=0) THEN 496 CALL abort_physic('conf_phys','ip_ebil_phy_omp doit etre 0 sur cette version',1) 497 ENDIF 498 495 499 ! 496 500 !Config Key = seuil_inversion … … 500 504 ! 501 505 seuil_inversion_omp = -0.1 502 callgetin('seuil_inversion', seuil_inversion_omp)506 CALL getin('seuil_inversion', seuil_inversion_omp) 503 507 504 508 ! … … 512 516 !valeur AMIP II 513 517 R_ecc_omp = 0.016715 514 callgetin('R_ecc', R_ecc_omp)518 CALL getin('R_ecc', R_ecc_omp) 515 519 ! 516 520 !Config Key = R_peri … … 522 526 !valeur AMIP II 523 527 R_peri_omp = 102.7 524 callgetin('R_peri', R_peri_omp)528 CALL getin('R_peri', R_peri_omp) 525 529 ! 526 530 !Config Key = R_incl … … 532 536 !valeur AMIP II 533 537 R_incl_omp = 23.441 534 callgetin('R_incl', R_incl_omp)538 CALL getin('R_incl', R_incl_omp) 535 539 ! 536 540 !Config Key = solaire … … 542 546 !valeur AMIP II 543 547 solaire_omp = 1365. 544 callgetin('solaire', solaire_omp)548 CALL getin('solaire', solaire_omp) 545 549 ! 546 550 !Config Key = ok_sun_time 547 551 !Config Desc = oui ou non variabilite solaire 548 !Config Def = . false.552 !Config Def = .FALSE. 549 553 !Config Help = 550 554 ! 551 555 ! 552 556 !valeur AMIP II 553 ok_suntime_rrtm_omp = . false.554 callgetin('ok_suntime_rrtm',ok_suntime_rrtm_omp)557 ok_suntime_rrtm_omp = .FALSE. 558 CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp) 555 559 ! 556 560 !Config Key = co2_ppm … … 562 566 !valeur AMIP II 563 567 co2_ppm_omp = 348. 564 callgetin('co2_ppm', co2_ppm_omp)568 CALL getin('co2_ppm', co2_ppm_omp) 565 569 ! 566 570 !Config Key = RCO2 … … 574 578 RCO2_omp = co2_ppm_omp * 1.0e-06 * 44.011/28.97 ! pour co2_ppm=348. 575 579 576 ! callgetin('RCO2', RCO2)580 ! CALL getin('RCO2', RCO2) 577 581 ! 578 582 !Config Key = RCH4 … … 588 592 !ancienne valeur 589 593 ! RCH4 = 1.72E-06* 16.043/28.97 590 !OK callgetin('RCH4', RCH4)594 !OK CALL getin('RCH4', RCH4) 591 595 zzz = 1650. 592 callgetin('CH4_ppb', zzz)596 CALL getin('CH4_ppb', zzz) 593 597 CH4_ppb_omp = zzz 594 598 RCH4_omp = CH4_ppb_omp * 1.0E-09 * 16.043/28.97 … … 606 610 !ancienne valeur 607 611 ! RN2O = 310.E-09* 44.013/28.97 608 !OK callgetin('RN2O', RN2O)612 !OK CALL getin('RN2O', RN2O) 609 613 zzz=306. 610 callgetin('N2O_ppb', zzz)614 CALL getin('N2O_ppb', zzz) 611 615 N2O_ppb_omp = zzz 612 616 RN2O_omp = N2O_ppb_omp * 1.0E-09 * 44.013/28.97 … … 620 624 !OK RCFC11 = 280.E-12* 137.3686/28.97 621 625 zzz = 280. 622 callgetin('CFC11_ppt',zzz)626 CALL getin('CFC11_ppt',zzz) 623 627 CFC11_ppt_omp = zzz 624 628 RCFC11_omp=CFC11_ppt_omp* 1.0E-12 * 137.3686/28.97 625 629 ! RCFC11 = 1.327690990680013E-09 626 !OK callgetin('RCFC11', RCFC11)630 !OK CALL getin('RCFC11', RCFC11) 627 631 ! 628 632 !Config Key = RCFC12 … … 634 638 !OK RCFC12 = 484.E-12* 120.9140/28.97 635 639 zzz = 484. 636 callgetin('CFC12_ppt',zzz)640 CALL getin('CFC12_ppt',zzz) 637 641 CFC12_ppt_omp = zzz 638 642 RCFC12_omp = CFC12_ppt_omp * 1.0E-12 * 120.9140/28.97 639 643 ! RCFC12 = 2.020102726958923E-09 640 !OK callgetin('RCFC12', RCFC12)644 !OK CALL getin('RCFC12', RCFC12) 641 645 642 646 !ajout CFMIP begin … … 648 652 ! 649 653 co2_ppm_per_omp = co2_ppm_omp 650 callgetin('co2_ppm_per', co2_ppm_per_omp)654 CALL getin('co2_ppm_per', co2_ppm_per_omp) 651 655 ! 652 656 !Config Key = RCO2_per … … 660 664 !Config Key = ok_4xCO2atm 661 665 !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)666 !Config Def = .FALSE. 667 !Config Help = 668 669 ok_4xCO2atm_omp = .FALSE. 670 CALL getin('ok_4xCO2atm',ok_4xCO2atm_omp) 667 671 668 672 !Config Key = RCH4_per … … 672 676 ! 673 677 zzz = CH4_ppb_omp 674 callgetin('CH4_ppb_per', zzz)678 CALL getin('CH4_ppb_per', zzz) 675 679 CH4_ppb_per_omp = zzz 676 680 RCH4_per_omp = CH4_ppb_per_omp * 1.0E-09 * 16.043/28.97 … … 682 686 ! 683 687 zzz = N2O_ppb_omp 684 callgetin('N2O_ppb_per', zzz)688 CALL getin('N2O_ppb_per', zzz) 685 689 N2O_ppb_per_omp = zzz 686 690 RN2O_per_omp = N2O_ppb_per_omp * 1.0E-09 * 44.013/28.97 … … 692 696 ! 693 697 zzz = CFC11_ppt_omp 694 callgetin('CFC11_ppt_per',zzz)698 CALL getin('CFC11_ppt_per',zzz) 695 699 CFC11_ppt_per_omp = zzz 696 700 RCFC11_per_omp=CFC11_ppt_per_omp* 1.0E-12 * 137.3686/28.97 … … 702 706 ! 703 707 zzz = CFC12_ppt_omp 704 callgetin('CFC12_ppt_per',zzz)708 CALL getin('CFC12_ppt_per',zzz) 705 709 CFC12_ppt_per_omp = zzz 706 710 RCFC12_per_omp = CFC12_ppt_per_omp * 1.0E-12 * 120.9140/28.97 … … 778 782 CALL getin('iflag_con',iflag_con_omp) 779 783 784 !Config Key = nbapp_cv 785 !Config Desc = Frequence d'appel a la convection 786 !Config Def = 0 787 !Config Help = Nombre d'appels des routines de convection 788 !Config par jour. Si =0, appel a chaque pas de temps physique. 789 nbapp_cv_omp = 0 790 CALL getin('nbapp_cv',nbapp_cv_omp) 791 780 792 !Config Key = iflag_ener_conserv 781 793 !Config Desc = Flag de convection … … 851 863 ! 852 864 epmax_omp = .993 853 callgetin('epmax', epmax_omp)865 CALL getin('epmax', epmax_omp) 854 866 855 867 coef_epmax_cape_omp = 0.0 856 callgetin('coef_epmax_cape', coef_epmax_cape_omp)868 CALL getin('coef_epmax_cape', coef_epmax_cape_omp) 857 869 ! 858 870 !Config Key = ok_adj_ema 859 871 !Config Desc = 860 !Config Def = false861 !Config Help = 862 ! 863 ok_adj_ema_omp = . false.864 callgetin('ok_adj_ema',ok_adj_ema_omp)872 !Config Def = FALSE 873 !Config Help = 874 ! 875 ok_adj_ema_omp = .FALSE. 876 CALL getin('ok_adj_ema',ok_adj_ema_omp) 865 877 ! 866 878 !Config Key = iflag_clw … … 870 882 ! 871 883 iflag_clw_omp = 0 872 callgetin('iflag_clw',iflag_clw_omp)884 CALL getin('iflag_clw',iflag_clw_omp) 873 885 ! 874 886 !Config Key = cld_lc_lsc … … 878 890 ! 879 891 cld_lc_lsc_omp = 2.6e-4 880 callgetin('cld_lc_lsc',cld_lc_lsc_omp)892 CALL getin('cld_lc_lsc',cld_lc_lsc_omp) 881 893 ! 882 894 !Config Key = cld_lc_con … … 886 898 ! 887 899 cld_lc_con_omp = 2.6e-4 888 callgetin('cld_lc_con',cld_lc_con_omp)900 CALL getin('cld_lc_con',cld_lc_con_omp) 889 901 ! 890 902 !Config Key = cld_tau_lsc … … 894 906 ! 895 907 cld_tau_lsc_omp = 3600. 896 callgetin('cld_tau_lsc',cld_tau_lsc_omp)908 CALL getin('cld_tau_lsc',cld_tau_lsc_omp) 897 909 ! 898 910 !Config Key = cld_tau_con … … 902 914 ! 903 915 cld_tau_con_omp = 3600. 904 callgetin('cld_tau_con',cld_tau_con_omp)916 CALL getin('cld_tau_con',cld_tau_con_omp) 905 917 ! 906 918 !Config Key = ffallv_lsc … … 910 922 ! 911 923 ffallv_lsc_omp = 1. 912 callgetin('ffallv_lsc',ffallv_lsc_omp)924 CALL getin('ffallv_lsc',ffallv_lsc_omp) 913 925 ! 914 926 !Config Key = ffallv_con … … 918 930 ! 919 931 ffallv_con_omp = 1. 920 callgetin('ffallv_con',ffallv_con_omp)932 CALL getin('ffallv_con',ffallv_con_omp) 921 933 ! 922 934 !Config Key = coef_eva … … 926 938 ! 927 939 coef_eva_omp = 2.e-5 928 callgetin('coef_eva',coef_eva_omp)940 CALL getin('coef_eva',coef_eva_omp) 929 941 ! 930 942 !Config Key = reevap_ice 931 943 !Config Desc = 932 !Config Def = . false.933 !Config Help = 934 ! 935 reevap_ice_omp = . false.936 callgetin('reevap_ice',reevap_ice_omp)944 !Config Def = .FALSE. 945 !Config Help = 946 ! 947 reevap_ice_omp = .FALSE. 948 CALL getin('reevap_ice',reevap_ice_omp) 937 949 938 950 !Config Key = iflag_ratqs … … 942 954 ! 943 955 iflag_ratqs_omp = 1 944 callgetin('iflag_ratqs',iflag_ratqs_omp)956 CALL getin('iflag_ratqs',iflag_ratqs_omp) 945 957 946 958 ! … … 951 963 ! 952 964 iflag_radia_omp = 1 953 callgetin('iflag_radia',iflag_radia_omp)965 CALL getin('iflag_radia',iflag_radia_omp) 954 966 955 967 ! … … 960 972 ! 961 973 iflag_rrtm_omp = 0 962 callgetin('iflag_rrtm',iflag_rrtm_omp)974 CALL getin('iflag_rrtm',iflag_rrtm_omp) 963 975 964 976 ! … … 969 981 ! 970 982 NSW_omp = 2 971 callgetin('NSW',NSW_omp)983 CALL getin('NSW',NSW_omp) 972 984 !albedo SB >>> 973 985 iflag_albedo_omp = 0 974 callgetin('iflag_albedo',iflag_albedo_omp)975 976 ok_chlorophyll_omp=. false.977 callgetin('ok_chlorophyll',ok_chlorophyll_omp)986 CALL getin('iflag_albedo',iflag_albedo_omp) 987 988 ok_chlorophyll_omp=.FALSE. 989 CALL getin('ok_chlorophyll',ok_chlorophyll_omp) 978 990 !albedo SB <<< 979 991 … … 988 1000 ! pour assurer une retrocompatiblite. 989 1001 ! A abandonner un jour 990 callgetin('iflag_cldcon',iflag_cld_th_omp)991 callgetin('iflag_cld_th',iflag_cld_th_omp)1002 CALL getin('iflag_cldcon',iflag_cld_th_omp) 1003 CALL getin('iflag_cld_th',iflag_cld_th_omp) 992 1004 iflag_cld_cv_omp = 0 993 callgetin('iflag_cld_cv',iflag_cld_cv_omp)1005 CALL getin('iflag_cld_cv',iflag_cld_cv_omp) 994 1006 995 1007 ! … … 1000 1012 ! 1001 1013 tau_cld_cv_omp = 10. 1002 callgetin('tau_cld_cv',tau_cld_cv_omp)1014 CALL getin('tau_cld_cv',tau_cld_cv_omp) 1003 1015 1004 1016 ! … … 1009 1021 ! 1010 1022 coefw_cld_cv_omp = 0.1 1011 callgetin('coefw_cld_cv',coefw_cld_cv_omp)1023 CALL getin('coefw_cld_cv',coefw_cld_cv_omp) 1012 1024 1013 1025 … … 1021 1033 ! 1022 1034 iflag_pdf_omp = 0 1023 callgetin('iflag_pdf',iflag_pdf_omp)1035 CALL getin('iflag_pdf',iflag_pdf_omp) 1024 1036 ! 1025 1037 !Config Key = fact_cldcon … … 1029 1041 ! 1030 1042 fact_cldcon_omp = 0.375 1031 callgetin('fact_cldcon',fact_cldcon_omp)1043 CALL getin('fact_cldcon',fact_cldcon_omp) 1032 1044 1033 1045 ! … … 1038 1050 ! 1039 1051 facttemps_omp = 1.e-4 1040 callgetin('facttemps',facttemps_omp)1052 CALL getin('facttemps',facttemps_omp) 1041 1053 1042 1054 ! 1043 1055 !Config Key = ok_newmicro 1044 1056 !Config Desc = 1045 !Config Def = . true.1046 !Config Help = 1047 ! 1048 ok_newmicro_omp = . true.1049 callgetin('ok_newmicro',ok_newmicro_omp)1057 !Config Def = .TRUE. 1058 !Config Help = 1059 ! 1060 ok_newmicro_omp = .TRUE. 1061 CALL getin('ok_newmicro',ok_newmicro_omp) 1050 1062 ! 1051 1063 !Config Key = ratqsbas … … 1055 1067 ! 1056 1068 ratqsbas_omp = 0.01 1057 callgetin('ratqsbas',ratqsbas_omp)1069 CALL getin('ratqsbas',ratqsbas_omp) 1058 1070 ! 1059 1071 !Config Key = ratqshaut … … 1063 1075 ! 1064 1076 ratqshaut_omp = 0.3 1065 callgetin('ratqshaut',ratqshaut_omp)1077 CALL getin('ratqshaut',ratqshaut_omp) 1066 1078 1067 1079 !Config Key = tau_ratqs … … 1071 1083 ! 1072 1084 tau_ratqs_omp = 1800. 1073 callgetin('tau_ratqs',tau_ratqs_omp)1085 CALL getin('tau_ratqs',tau_ratqs_omp) 1074 1086 1075 1087 ! … … 1083 1095 ! 1084 1096 solarlong0_omp = -999.999 1085 callgetin('solarlong0',solarlong0_omp)1097 CALL getin('solarlong0',solarlong0_omp) 1086 1098 ! 1087 1099 !----------------------------------------------------------------------- … … 1090 1102 ! Default value -1 to activate the full computation 1091 1103 qsol0_omp = -1. 1092 callgetin('qsol0',qsol0_omp)1104 CALL getin('qsol0',qsol0_omp) 1093 1105 evap0_omp = -1. 1094 callgetin('evap0',evap0_omp)1106 CALL getin('evap0',evap0_omp) 1095 1107 albsno0_omp = -1. 1096 callgetin('albsno0',albsno0_omp)1108 CALL getin('albsno0',albsno0_omp) 1097 1109 ! 1098 1110 !----------------------------------------------------------------------- … … 1104 1116 ! 1105 1117 inertie_ice_omp = 2000. 1106 callgetin('inertie_ice',inertie_ice_omp)1118 CALL getin('inertie_ice',inertie_ice_omp) 1107 1119 ! 1108 1120 !Config Key = inertie_sno … … 1112 1124 ! 1113 1125 inertie_sno_omp = 2000. 1114 callgetin('inertie_sno',inertie_sno_omp)1126 CALL getin('inertie_sno',inertie_sno_omp) 1115 1127 ! 1116 1128 !Config Key = inertie_sol … … 1120 1132 ! 1121 1133 inertie_sol_omp = 2000. 1122 callgetin('inertie_sol',inertie_sol_omp)1134 CALL getin('inertie_sol',inertie_sol_omp) 1123 1135 1124 1136 ! … … 1129 1141 ! 1130 1142 rad_froid_omp = 35.0 1131 callgetin('rad_froid',rad_froid_omp)1143 CALL getin('rad_froid',rad_froid_omp) 1132 1144 1133 1145 ! … … 1138 1150 ! 1139 1151 rad_chau1_omp = 13.0 1140 callgetin('rad_chau1',rad_chau1_omp)1152 CALL getin('rad_chau1',rad_chau1_omp) 1141 1153 1142 1154 ! … … 1147 1159 ! 1148 1160 rad_chau2_omp = 9.0 1149 callgetin('rad_chau2',rad_chau2_omp)1161 CALL getin('rad_chau2',rad_chau2_omp) 1150 1162 1151 1163 ! … … 1156 1168 ! 1157 1169 t_glace_min_omp = 258. 1158 callgetin('t_glace_min',t_glace_min_omp)1170 CALL getin('t_glace_min',t_glace_min_omp) 1159 1171 1160 1172 ! … … 1165 1177 ! 1166 1178 t_glace_max_omp = 273.13 1167 callgetin('t_glace_max',t_glace_max_omp)1179 CALL getin('t_glace_max',t_glace_max_omp) 1168 1180 1169 1181 ! … … 1174 1186 ! 1175 1187 exposant_glace_omp = 1. 1176 callgetin('exposant_glace',exposant_glace_omp)1188 CALL getin('exposant_glace',exposant_glace_omp) 1177 1189 1178 1190 ! … … 1183 1195 ! 1184 1196 iflag_t_glace_omp = 0 1185 callgetin('iflag_t_glace',iflag_t_glace_omp)1197 CALL getin('iflag_t_glace',iflag_t_glace_omp) 1186 1198 1187 1199 ! … … 1192 1204 ! 1193 1205 iflag_cloudth_vert_omp = 0 1194 callgetin('iflag_cloudth_vert',iflag_cloudth_vert_omp)1206 CALL getin('iflag_cloudth_vert',iflag_cloudth_vert_omp) 1195 1207 1196 1208 ! … … 1201 1213 ! 1202 1214 iflag_ice_thermo_omp = 0 1203 callgetin('iflag_ice_thermo',iflag_ice_thermo_omp)1215 CALL getin('iflag_ice_thermo',iflag_ice_thermo_omp) 1204 1216 1205 1217 !Config Key = rei_min … … 1209 1221 ! 1210 1222 rei_min_omp = 3.5 1211 callgetin('rei_min',rei_min_omp)1223 CALL getin('rei_min',rei_min_omp) 1212 1224 1213 1225 ! … … 1218 1230 ! 1219 1231 rei_max_omp = 61.29 1220 callgetin('rei_max',rei_max_omp)1232 CALL getin('rei_max',rei_max_omp) 1221 1233 1222 1234 ! … … 1227 1239 ! 1228 1240 top_height_omp = 3 1229 callgetin('top_height',top_height_omp)1241 CALL getin('top_height',top_height_omp) 1230 1242 1231 1243 ! … … 1236 1248 ! 1237 1249 overlap_omp = 3 1238 call getin('overlap',overlap_omp) 1239 1240 1241 ! 1250 CALL getin('overlap',overlap_omp) 1251 1242 1252 ! 1243 1253 !Config Key = cdmmax … … 1247 1257 ! 1248 1258 cdmmax_omp = 1.3E-3 1249 callgetin('cdmmax',cdmmax_omp)1259 CALL getin('cdmmax',cdmmax_omp) 1250 1260 1251 1261 ! … … 1256 1266 ! 1257 1267 cdhmax_omp = 1.1E-3 1258 callgetin('cdhmax',cdhmax_omp)1268 CALL getin('cdhmax',cdhmax_omp) 1259 1269 1260 1270 !261103 … … 1266 1276 ! 1267 1277 ksta_omp = 1.0e-10 1268 callgetin('ksta',ksta_omp)1278 CALL getin('ksta',ksta_omp) 1269 1279 1270 1280 ! … … 1275 1285 ! 1276 1286 ksta_ter_omp = 1.0e-10 1277 callgetin('ksta_ter',ksta_ter_omp)1287 CALL getin('ksta_ter',ksta_ter_omp) 1278 1288 1279 1289 !Config Key = f_ri_cd_min … … 1283 1293 ! 1284 1294 f_ri_cd_min_omp = 0.1 1285 callgetin('f_ri_cd_min',f_ri_cd_min_omp)1295 CALL getin('f_ri_cd_min',f_ri_cd_min_omp) 1286 1296 1287 1297 ! 1288 1298 !Config Key = ok_kzmin 1289 1299 !Config Desc = 1290 !Config Def = . true.1291 !Config Help = 1292 ! 1293 ok_kzmin_omp = . true.1294 callgetin('ok_kzmin',ok_kzmin_omp)1300 !Config Def = .TRUE. 1301 !Config Help = 1302 ! 1303 ok_kzmin_omp = .TRUE. 1304 CALL getin('ok_kzmin',ok_kzmin_omp) 1295 1305 1296 1306 pbl_lmixmin_alpha_omp=0.0 1297 call getin('pbl_lmixmin_alpha',pbl_lmixmin_alpha_omp) 1298 1307 CALL getin('pbl_lmixmin_alpha',pbl_lmixmin_alpha_omp) 1299 1308 1300 1309 ! … … 1305 1314 ! 1306 1315 fmagic_omp = 1. 1307 callgetin('fmagic',fmagic_omp)1316 CALL getin('fmagic',fmagic_omp) 1308 1317 1309 1318 ! … … 1314 1323 ! 1315 1324 pmagic_omp = 0. 1316 callgetin('pmagic',pmagic_omp)1325 CALL getin('pmagic',pmagic_omp) 1317 1326 1318 1327 1319 1328 !Config Key = ok_lic_melt 1320 1329 !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)1330 !Config Def = .FALSE. 1331 !Config Help = mettre a .FALSE. pour assurer la conservation en eau 1332 ok_lic_melt_omp = .FALSE. 1333 CALL getin('ok_lic_melt', ok_lic_melt_omp) 1325 1334 1326 1335 ! … … 1334 1343 ! 1335 1344 iflag_pbl_omp = 1 1336 callgetin('iflag_pbl',iflag_pbl_omp)1345 CALL getin('iflag_pbl',iflag_pbl_omp) 1337 1346 ! 1338 1347 !Config Key = iflag_pbl_split … … 1342 1351 ! 1343 1352 iflag_pbl_split_omp = 0 1344 callgetin('iflag_pbl_split',iflag_pbl_split_omp)1353 CALL getin('iflag_pbl_split',iflag_pbl_split_omp) 1345 1354 ! 1346 1355 !Config Key = iflag_order2_sollw … … 1350 1359 ! 1351 1360 iflag_order2_sollw_omp = 0 1352 callgetin('iflag_order2_sollw',iflag_order2_sollw_omp)1361 CALL getin('iflag_order2_sollw',iflag_order2_sollw_omp) 1353 1362 ! 1354 1363 !Config Key = iflag_thermals … … 1358 1367 ! 1359 1368 iflag_thermals_omp = 0 1360 callgetin('iflag_thermals',iflag_thermals_omp)1369 CALL getin('iflag_thermals',iflag_thermals_omp) 1361 1370 ! 1362 1371 !Config Key = iflag_thermals_ed … … 1367 1376 fact_thermals_ed_dz_omp = 0.1 1368 1377 1369 callgetin('fact_thermals_ed_dz',fact_thermals_ed_dz_omp)1378 CALL getin('fact_thermals_ed_dz',fact_thermals_ed_dz_omp) 1370 1379 ! 1371 1380 ! … … 1376 1385 ! 1377 1386 iflag_thermals_ed_omp = 0 1378 callgetin('iflag_thermals_ed',iflag_thermals_ed_omp)1387 CALL getin('iflag_thermals_ed',iflag_thermals_ed_omp) 1379 1388 ! 1380 1389 ! … … 1385 1394 ! 1386 1395 iflag_thermals_optflux_omp = 0 1387 callgetin('iflag_thermals_optflux',iflag_thermals_optflux_omp)1396 CALL getin('iflag_thermals_optflux',iflag_thermals_optflux_omp) 1388 1397 ! 1389 1398 !Config Key = iflag_thermals_closure … … 1393 1402 ! 1394 1403 iflag_thermals_closure_omp = 1 1395 call getin('iflag_thermals_closure',iflag_thermals_closure_omp) 1396 ! 1397 ! 1398 ! 1404 CALL getin('iflag_thermals_closure',iflag_thermals_closure_omp) 1399 1405 ! 1400 1406 !Config Key = nsplit_thermals … … 1404 1410 ! 1405 1411 nsplit_thermals_omp = 1 1406 callgetin('nsplit_thermals',nsplit_thermals_omp)1412 CALL getin('nsplit_thermals',nsplit_thermals_omp) 1407 1413 1408 1414 !Config Key = alp_bl_k … … 1412 1418 ! 1413 1419 alp_bl_k_omp = 1. 1414 callgetin('alp_bl_k',alp_bl_k_omp)1420 CALL getin('alp_bl_k',alp_bl_k_omp) 1415 1421 1416 1422 ! nrlmd le 10/04/2012 … … 1422 1428 ! 1423 1429 iflag_trig_bl_omp = 0 1424 callgetin('iflag_trig_bl',iflag_trig_bl_omp)1430 CALL getin('iflag_trig_bl',iflag_trig_bl_omp) 1425 1431 1426 1432 !Config Key = s_trig_bl … … 1430 1436 ! 1431 1437 s_trig_omp = 2e7 1432 callgetin('s_trig',s_trig_omp)1438 CALL getin('s_trig',s_trig_omp) 1433 1439 1434 1440 !Config Key = tau_trig_shallow … … 1438 1444 ! 1439 1445 tau_trig_shallow_omp = 600 1440 callgetin('tau_trig_shallow',tau_trig_shallow_omp)1446 CALL getin('tau_trig_shallow',tau_trig_shallow_omp) 1441 1447 1442 1448 !Config Key = tau_trig_deep … … 1446 1452 ! 1447 1453 tau_trig_deep_omp = 1800 1448 callgetin('tau_trig_deep',tau_trig_deep_omp)1454 CALL getin('tau_trig_deep',tau_trig_deep_omp) 1449 1455 1450 1456 !Config Key = iflag_clos_bl … … 1454 1460 ! 1455 1461 iflag_clos_bl_omp = 0 1456 callgetin('iflag_clos_bl',iflag_clos_bl_omp)1462 CALL getin('iflag_clos_bl',iflag_clos_bl_omp) 1457 1463 1458 1464 ! fin nrlmd le 10/04/2012 … … 1465 1471 ! 1466 1472 tau_thermals_omp = 0. 1467 callgetin('tau_thermals',tau_thermals_omp)1473 CALL getin('tau_thermals',tau_thermals_omp) 1468 1474 1469 1475 ! … … 1474 1480 ! 1475 1481 iflag_coupl_omp = 0 1476 callgetin('iflag_coupl',iflag_coupl_omp)1482 CALL getin('iflag_coupl',iflag_coupl_omp) 1477 1483 1478 1484 ! … … 1483 1489 ! 1484 1490 iflag_clos_omp = 1 1485 callgetin('iflag_clos',iflag_clos_omp)1491 CALL getin('iflag_clos',iflag_clos_omp) 1486 1492 ! 1487 1493 !Config Key = coef_clos_ls … … 1491 1497 ! 1492 1498 coef_clos_ls_omp = 0. 1493 callgetin('coef_clos_ls',coef_clos_ls_omp)1499 CALL getin('coef_clos_ls',coef_clos_ls_omp) 1494 1500 1495 1501 ! … … 1500 1506 ! 1501 1507 iflag_cvl_sigd_omp = 0 1502 callgetin('iflag_cvl_sigd',iflag_cvl_sigd_omp)1508 CALL getin('iflag_cvl_sigd',iflag_cvl_sigd_omp) 1503 1509 1504 1510 !Config Key = iflag_wake … … 1508 1514 ! 1509 1515 iflag_wake_omp = 0 1510 callgetin('iflag_wake',iflag_wake_omp)1516 CALL getin('iflag_wake',iflag_wake_omp) 1511 1517 1512 1518 !Config Key = alp_offset … … 1516 1522 ! 1517 1523 alp_offset_omp = 0. 1518 callgetin('alp_offset',alp_offset_omp)1524 CALL getin('alp_offset',alp_offset_omp) 1519 1525 1520 1526 ! … … 1525 1531 ! 1526 1532 lev_histhf_omp = 1 1527 callgetin('lev_histhf',lev_histhf_omp)1533 CALL getin('lev_histhf',lev_histhf_omp) 1528 1534 1529 1535 ! … … 1534 1540 ! 1535 1541 lev_histday_omp = 1 1536 callgetin('lev_histday',lev_histday_omp)1542 CALL getin('lev_histday',lev_histday_omp) 1537 1543 1538 1544 ! … … 1543 1549 ! 1544 1550 lev_histmth_omp = 2 1545 callgetin('lev_histmth',lev_histmth_omp)1551 CALL getin('lev_histmth',lev_histmth_omp) 1546 1552 ! 1547 1553 !Config Key = lev_histins … … 1551 1557 ! 1552 1558 lev_histins_omp = 1 1553 callgetin('lev_histins',lev_histins_omp)1559 CALL getin('lev_histins',lev_histins_omp) 1554 1560 ! 1555 1561 !Config Key = lev_histLES … … 1559 1565 ! 1560 1566 lev_histLES_omp = 1 1561 callgetin('lev_histLES',lev_histLES_omp)1567 CALL getin('lev_histLES',lev_histLES_omp) 1562 1568 ! 1563 1569 !Config Key = lev_histdayNMC … … 1567 1573 ! 1568 1574 lev_histdayNMC_omp = 8 1569 callgetin('lev_histdayNMC',lev_histdayNMC_omp)1575 CALL getin('lev_histdayNMC',lev_histdayNMC_omp) 1570 1576 ! 1571 1577 !Config Key = levout_histNMC … … 1577 1583 levout_histNMC_omp(2) = 5 1578 1584 levout_histNMC_omp(3) = 5 1579 callgetin('levout_histNMC',levout_histNMC_omp)1585 CALL getin('levout_histNMC',levout_histNMC_omp) 1580 1586 ! 1581 1587 !histNMC BEG … … 1587 1593 !Config Help = 1588 1594 ! 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)1595 ok_histNMC_omp(1) = .FALSE. 1596 ok_histNMC_omp(2) = .FALSE. 1597 ok_histNMC_omp(3) = .FALSE. 1598 CALL getin('ok_histNMC',ok_histNMC_omp) 1593 1599 ! 1594 1600 !Config Key = freq_outNMC … … 1602 1608 freq_outNMC_omp(2) = 1. 1603 1609 freq_outNMC_omp(3) = 1./4. 1604 callgetin('freq_outNMC',freq_outNMC_omp)1610 CALL getin('freq_outNMC',freq_outNMC_omp) 1605 1611 ! 1606 1612 !Config Key = freq_calNMC … … 1614 1620 freq_calNMC_omp(2) = pasphys 1615 1621 freq_calNMC_omp(3) = pasphys 1616 callgetin('freq_calNMC',freq_calNMC_omp)1622 CALL getin('freq_calNMC',freq_calNMC_omp) 1617 1623 ! 1618 1624 !Config Key = type_run … … 1622 1628 ! 1623 1629 type_run_omp = 'AMIP' 1624 callgetin('type_run',type_run_omp)1630 CALL getin('type_run',type_run_omp) 1625 1631 1626 1632 ! 1627 1633 !Config Key = ok_cosp 1628 1634 !Config Desc = 1629 !Config Def = . false.1630 !Config Help = 1631 ! 1632 ok_cosp_omp = . false.1633 callgetin('ok_cosp',ok_cosp_omp)1635 !Config Def = .FALSE. 1636 !Config Help = 1637 ! 1638 ok_cosp_omp = .FALSE. 1639 CALL getin('ok_cosp',ok_cosp_omp) 1634 1640 1635 1641 ! 1636 1642 !Config Key = ok_airs 1637 1643 !Config Desc = 1638 !Config Def = . false.1639 !Config Help = 1640 ! 1641 ok_airs_omp = . false.1642 callgetin('ok_airs',ok_airs_omp)1644 !Config Def = .FALSE. 1645 !Config Help = 1646 ! 1647 ok_airs_omp = .FALSE. 1648 CALL getin('ok_airs',ok_airs_omp) 1643 1649 1644 1650 ! 1645 1651 !Config Key = ok_mensuelCOSP 1646 1652 !Config Desc = 1647 !Config Def = . true.1648 !Config Help = 1649 ! 1650 ok_mensuelCOSP_omp = . true.1651 callgetin('ok_mensuelCOSP',ok_mensuelCOSP_omp)1653 !Config Def = .TRUE. 1654 !Config Help = 1655 ! 1656 ok_mensuelCOSP_omp = .TRUE. 1657 CALL getin('ok_mensuelCOSP',ok_mensuelCOSP_omp) 1652 1658 1653 1659 ! 1654 1660 !Config Key = ok_journeCOSP 1655 1661 !Config Desc = 1656 !Config Def = . true.1657 !Config Help = 1658 ! 1659 ok_journeCOSP_omp = . true.1660 callgetin('ok_journeCOSP',ok_journeCOSP_omp)1662 !Config Def = .TRUE. 1663 !Config Help = 1664 ! 1665 ok_journeCOSP_omp = .TRUE. 1666 CALL getin('ok_journeCOSP',ok_journeCOSP_omp) 1661 1667 1662 1668 ! 1663 1669 !Config Key = ok_hfCOSP 1664 1670 !Config Desc = 1665 !Config Def = . false.1666 !Config Help = 1667 ! 1668 ok_hfCOSP_omp = . false.1669 callgetin('ok_hfCOSP',ok_hfCOSP_omp)1671 !Config Def = .FALSE. 1672 !Config Help = 1673 ! 1674 ok_hfCOSP_omp = .FALSE. 1675 CALL getin('ok_hfCOSP',ok_hfCOSP_omp) 1670 1676 1671 1677 ! … … 1679 1685 ! 1680 1686 lonmin_ins_omp = 100. 1681 callgetin('lonmin_ins',lonmin_ins_omp)1687 CALL getin('lonmin_ins',lonmin_ins_omp) 1682 1688 ! 1683 1689 !Config Key = lonmax_ins … … 1687 1693 ! 1688 1694 lonmax_ins_omp = 130. 1689 callgetin('lonmax_ins',lonmax_ins_omp)1695 CALL getin('lonmax_ins',lonmax_ins_omp) 1690 1696 ! 1691 1697 !Config Key = latmin_ins … … 1695 1701 ! 1696 1702 latmin_ins_omp = -20. 1697 callgetin('latmin_ins',latmin_ins_omp)1703 CALL getin('latmin_ins',latmin_ins_omp) 1698 1704 ! 1699 1705 !Config Key = latmax_ins … … 1703 1709 ! 1704 1710 latmax_ins_omp = 20. 1705 callgetin('latmax_ins',latmax_ins_omp)1711 CALL getin('latmax_ins',latmax_ins_omp) 1706 1712 ! 1707 1713 !Config Key = ecrit_hf … … 1711 1717 ! 1712 1718 ecrit_hf_omp = 1./8. 1713 callgetin('ecrit_hf',ecrit_hf_omp)1719 CALL getin('ecrit_hf',ecrit_hf_omp) 1714 1720 ! 1715 1721 !Config Key = ecrit_ins … … 1719 1725 ! 1720 1726 ecrit_ins_omp = 1./48. 1721 callgetin('ecrit_ins',ecrit_ins_omp)1727 CALL getin('ecrit_ins',ecrit_ins_omp) 1722 1728 ! 1723 1729 !Config Key = ecrit_day … … 1727 1733 ! 1728 1734 ecrit_day_omp = 1.0 1729 callgetin('ecrit_day',ecrit_day_omp)1735 CALL getin('ecrit_day',ecrit_day_omp) 1730 1736 ! 1731 1737 !Config Key = ecrit_mth … … 1735 1741 ! 1736 1742 ecrit_mth_omp = 30. 1737 callgetin('ecrit_mth',ecrit_mth_omp)1743 CALL getin('ecrit_mth',ecrit_mth_omp) 1738 1744 ! 1739 1745 !Config Key = ecrit_tra … … 1743 1749 ! 1744 1750 ecrit_tra_omp = 0. 1745 callgetin('ecrit_tra',ecrit_tra_omp)1751 CALL getin('ecrit_tra',ecrit_tra_omp) 1746 1752 ! 1747 1753 !Config Key = ecrit_reg … … 1751 1757 ! 1752 1758 ecrit_reg_omp = 0.25 !4 fois par jour 1753 callgetin('ecrit_reg',ecrit_reg_omp)1759 CALL getin('ecrit_reg',ecrit_reg_omp) 1754 1760 ! 1755 1761 ! … … 1759 1765 ! 1760 1766 f_cdrag_ter_omp = 0.8 1761 callgetin('f_cdrag_ter',f_cdrag_ter_omp)1767 CALL getin('f_cdrag_ter',f_cdrag_ter_omp) 1762 1768 ! 1763 1769 f_cdrag_oce_omp = 0.8 1764 callgetin('f_cdrag_oce',f_cdrag_oce_omp)1770 CALL getin('f_cdrag_oce',f_cdrag_oce_omp) 1765 1771 ! 1766 1772 1767 1773 ! Gustiness flags 1768 1774 f_z0qh_oce_omp = 1. 1769 callgetin('f_z0qh_oce',f_z0qh_oce_omp)1775 CALL getin('f_z0qh_oce',f_z0qh_oce_omp) 1770 1776 ! 1771 1777 f_qsat_oce_omp = 1. 1772 callgetin('f_qsat_oce',f_qsat_oce_omp)1778 CALL getin('f_qsat_oce',f_qsat_oce_omp) 1773 1779 ! 1774 1780 f_gust_bl_omp = 0. 1775 callgetin('f_gust_bl',f_gust_bl_omp)1781 CALL getin('f_gust_bl',f_gust_bl_omp) 1776 1782 ! 1777 1783 f_gust_wk_omp = 0. 1778 callgetin('f_gust_wk',f_gust_wk_omp)1784 CALL getin('f_gust_wk',f_gust_wk_omp) 1779 1785 ! 1780 1786 !Config Key = iflag_z0_oce … … 1784 1790 ! 1785 1791 iflag_z0_oce_omp=0 1786 callgetin('iflag_z0_oce',iflag_z0_oce_omp)1792 CALL getin('iflag_z0_oce',iflag_z0_oce_omp) 1787 1793 ! 1788 1794 iflag_gusts_omp=0 1789 callgetin('iflag_gusts',iflag_gusts_omp)1795 CALL getin('iflag_gusts',iflag_gusts_omp) 1790 1796 ! 1791 1797 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)1798 CALL getin('min_wind_speed',min_wind_speed_omp) 1799 1800 z0m_seaice_omp = 0.002 ; CALL getin('z0m_seaice',z0m_seaice_omp) 1801 z0h_seaice_omp = 0.002 ; CALL getin('z0h_seaice',z0h_seaice_omp) 1796 1802 1797 1803 f_rugoro_omp = 0. 1798 callgetin('f_rugoro',f_rugoro_omp)1804 CALL getin('f_rugoro',f_rugoro_omp) 1799 1805 1800 1806 z0min_omp = 0.000015 1801 callgetin('z0min',z0min_omp)1807 CALL getin('z0min',z0min_omp) 1802 1808 1803 1809 … … 1810 1816 ! 1811 1817 supcrit1_omp = .540 1812 callgetin('supcrit1',supcrit1_omp)1818 CALL getin('supcrit1',supcrit1_omp) 1813 1819 1814 1820 ! … … 1819 1825 ! 1820 1826 supcrit2_omp = .600 1821 callgetin('supcrit2',supcrit2_omp)1827 CALL getin('supcrit2',supcrit2_omp) 1822 1828 1823 1829 ! … … 1834 1840 ! 1835 1841 iflag_mix_omp = 1 1836 callgetin('iflag_mix',iflag_mix_omp)1842 CALL getin('iflag_mix',iflag_mix_omp) 1837 1843 1838 1844 ! … … 1848 1854 ! 1849 1855 iflag_mix_adiab_omp = 0 1850 callgetin('iflag_mix_adiab',iflag_mix_adiab_omp)1856 CALL getin('iflag_mix_adiab',iflag_mix_adiab_omp) 1851 1857 1852 1858 ! … … 1857 1863 ! 1858 1864 scut_omp = 0.95 1859 callgetin('scut',scut_omp)1865 CALL getin('scut',scut_omp) 1860 1866 1861 1867 ! … … 1866 1872 ! 1867 1873 qqa1_omp = 1.0 1868 callgetin('qqa1',qqa1_omp)1874 CALL getin('qqa1',qqa1_omp) 1869 1875 1870 1876 ! … … 1875 1881 ! 1876 1882 qqa2_omp = 0.0 1877 callgetin('qqa2',qqa2_omp)1883 CALL getin('qqa2',qqa2_omp) 1878 1884 1879 1885 ! … … 1884 1890 ! 1885 1891 gammas_omp = 0.05 1886 callgetin('gammas',gammas_omp)1892 CALL getin('gammas',gammas_omp) 1887 1893 1888 1894 ! … … 1893 1899 ! 1894 1900 Fmax_omp = 0.65 1895 callgetin('Fmax',Fmax_omp)1901 CALL getin('Fmax',Fmax_omp) 1896 1902 1897 1903 ! … … 1902 1908 ! 1903 1909 tmax_fonte_cv_omp = 275.15 1904 callgetin('tmax_fonte_cv',tmax_fonte_cv_omp)1910 CALL getin('tmax_fonte_cv',tmax_fonte_cv_omp) 1905 1911 1906 1912 ! … … 1911 1917 ! 1912 1918 alphas_omp = -5. 1913 callgetin('alphas',alphas_omp)1919 CALL getin('alphas',alphas_omp) 1914 1920 1915 1921 !Config key = ok_strato … … 1986 1992 !Config Key = OK_LES 1987 1993 !Config Desc = Pour des sorties LES 1988 !Config Def = . false.1994 !Config Def = .FALSE. 1989 1995 !Config Help = Pour creer le fichier histLES contenant les sorties 1990 1996 ! LES 1991 1997 ! 1992 ok_LES_omp = . false.1993 callgetin('OK_LES', ok_LES_omp)1998 ok_LES_omp = .FALSE. 1999 CALL getin('OK_LES', ok_LES_omp) 1994 2000 1995 2001 !Config Key = callstats 1996 2002 !Config Desc = Pour des sorties callstats 1997 !Config Def = . false.2003 !Config Def = .FALSE. 1998 2004 !Config Help = Pour creer le fichier stats contenant les sorties 1999 2005 ! stats 2000 2006 ! 2001 callstats_omp = . false.2002 callgetin('callstats', callstats_omp)2007 callstats_omp = .FALSE. 2008 CALL getin('callstats', callstats_omp) 2003 2009 ! 2004 2010 !Config Key = ecrit_LES … … 2010 2016 ! 2011 2017 ecrit_LES_omp = 1./8. 2012 callgetin('ecrit_LES', ecrit_LES_omp)2018 CALL getin('ecrit_LES', ecrit_LES_omp) 2013 2019 ! 2014 2020 read_climoz = 0 ! default value 2015 callgetin('read_climoz', read_climoz)2021 CALL getin('read_climoz', read_climoz) 2016 2022 2017 2023 carbon_cycle_tr_omp=.FALSE. … … 2059 2065 nbapp_rad = nbapp_rad_omp 2060 2066 iflag_con = iflag_con_omp 2067 nbapp_cv = nbapp_cv_omp 2061 2068 iflag_ener_conserv = iflag_ener_conserv_omp 2062 2069 ok_conserv_q = ok_conserv_q_omp … … 2124 2131 t_coupl = t_coupl_omp 2125 2132 2126 ok_veget=. true.2133 ok_veget=.TRUE. 2127 2134 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 2135 IF (type_veget=='n' .or. type_veget=='bucket' .or. type_veget=='betaclim') THEN 2136 ok_veget=.FALSE. 2137 ENDIF 2132 2138 ! Martin 2133 2139 ok_snow = ok_snow_omp … … 2226 2232 iflag_z0_oce=iflag_z0_oce_omp 2227 2233 2228 2229 2234 z0m_seaice=z0m_seaice_omp 2230 2235 z0h_seaice=z0h_seaice_omp … … 2270 2275 WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid in coupled configuration' 2271 2276 CALL abort_physic('conf_phys','version_ocean not valid',1) 2272 END 2277 ENDIF 2273 2278 2274 2279 IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN … … 2278 2283 WRITE(lunout,*)' ERROR version_ocean=',version_ocean,' not valid with slab ocean' 2279 2284 CALL abort_physic('conf_phys','version_ocean not valid',1) 2280 END 2285 ENDIF 2281 2286 2282 2287 !--test on radiative scheme … … 2295 2300 CALL abort_physic('conf_phys','choice iflag_rrtm not valid',1) 2296 2301 ENDIF 2302 #ifdef CPP_StratAer 2303 IF (iflag_rrtm .NE. 1) THEN 2304 WRITE(lunout,*) ' ERROR iflag_rrtm<>1 but StratAer activated' 2305 CALL abort_physic('conf_phys','iflag_rrtm not valid for StratAer',1) 2306 ENDIF 2307 IF (NSW .NE. 6) THEN 2308 WRITE(lunout,*) ' ERROR NSW<>6 but StratAer activated' 2309 CALL abort_physic('conf_phys','NSW not valid for StratAer',1) 2310 ENDIF 2311 #endif 2297 2312 2298 2313 !--test on ocean surface albedo … … 2307 2322 IF ( flag_aerosol .EQ. 0 ) THEN 2308 2323 CALL abort_physic('conf_phys','flag_aerosol=0 not compatible avec ok_ade ou ok_aie=.TRUE.',1) 2309 END 2324 ENDIF 2310 2325 IF ( .NOT. new_aod .AND. flag_aerosol .NE. 1) THEN 2311 2326 CALL abort_physic('conf_phys','new_aod=.FALSE. not compatible avec flag_aerosol=1',1) 2312 END 2313 END 2327 ENDIF 2328 ENDIF 2314 2329 2315 2330 ! Flag_aerosol cannot be to zero if we are in coupled mode for aerosol … … 2384 2399 write(lunout,*)'nbapp_rad=',nbapp_rad 2385 2400 write(lunout,*)'iflag_con=',iflag_con 2401 write(lunout,*)'nbapp_cv=',nbapp_cv 2386 2402 write(lunout,*)'iflag_ener_conserv=',iflag_ener_conserv 2387 2403 write(lunout,*)'ok_conserv_q=',ok_conserv_q … … 2533 2549 !$OMP END MASTER 2534 2550 2535 return2536 2537 end subroutineconf_phys2538 2539 end moduleconf_phys_m2551 RETURN 2552 2553 END SUBROUTINE conf_phys 2554 2555 END MODULE conf_phys_m 2540 2556 ! 2541 2557 !################################################################# 2542 2558 ! 2543 2559 2544 subroutineconf_interface(tau_calv)2545 2546 useIOIPSL2560 SUBROUTINE conf_interface(tau_calv) 2561 2562 USE IOIPSL 2547 2563 USE print_control_mod, ONLY: lunout 2548 implicit none2564 IMPLICIT NONE 2549 2565 ! Configuration de l'interace atm/surf 2550 2566 ! … … 2562 2578 tau_calv_omp = 360.*10. 2563 2579 !$OMP MASTER 2564 callgetin('tau_calv',tau_calv_omp)2580 CALL getin('tau_calv',tau_calv_omp) 2565 2581 !$OMP END MASTER 2566 2582 !$OMP BARRIER … … 2574 2590 !$OMP END MASTER 2575 2591 2576 return2577 2578 end subroutineconf_interface2592 RETURN 2593 2594 END SUBROUTINE conf_interface
Note: See TracChangeset
for help on using the changeset viewer.