Changeset 4570 for LMDZ6/trunk/libf
- Timestamp:
- Jun 13, 2023, 8:58:55 PM (18 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd/ecrad
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/ecrad/radiation_scheme.F90
r4543 r4570 356 356 ! AI appel radiation_setup 357 357 call SETUP_RADIATION_SCHEME(loutput) 358 ! Read "radiation_driver" namelist into radiation driver config type 359 file_name="namelist_ecrad" 360 call driver_config%read(file_name) 361 362 if (rad_config%i_solver_sw == ISolverSPARTACUS & 363 & .or. rad_config%i_solver_lw == ISolverSPARTACUS) then 364 print*,'Solveur SW: ', rad_config%i_solver_sw 365 print*,'Solveur LW: ', rad_config%i_solver_lw 366 if (driver_config%ok_effective_size) then 367 print*,'low_inv_effective_size = ',driver_config%low_inv_effective_size 368 print*,'middle_inv_effective_size = ',driver_config%middle_inv_effective_size 369 print*,'high_inv_effective_size = ',driver_config%high_inv_effective_size 370 else if (driver_config%ok_separation) then 371 print*,'cloud_separation_scale_surface =',driver_config%cloud_separation_scale_surface 372 print*,'cloud_separation_scale_toa =',driver_config%cloud_separation_scale_toa 373 print*,'cloud_separation_scale_power =',driver_config%cloud_separation_scale_power 374 print*,'cloud_inhom_separation_factor =',driver_config%cloud_inhom_separation_factor 375 endif 376 endif 358 377 359 378 if (lprint_config) then … … 502 521 ! AI ! Read cloud properties needed by SPARTACUS 503 522 !AI ATTENTION meme traitement dans le version offline 504 if (driver_config%low_inv_effective_size >= 0.0_jprb & 505 & .or. driver_config%middle_inv_effective_size >= 0.0_jprb & 506 & .or. driver_config%high_inv_effective_size >= 0.0_jprb) then 523 524 ! By default mid and high cloud effective size is 10 km 525 !CALL cloud%create_inv_cloud_effective_size(KLON,KLEV,1.0_JPRB/10000.0_JPRB) 526 527 ! if (driver_config%low_inv_effective_size >= 0.0_jprb & 528 ! & .or. driver_config%middle_inv_effective_size >= 0.0_jprb & 529 ! & .or. driver_config%high_inv_effective_size >= 0.0_jprb) then 530 if (driver_config%ok_effective_size) then 507 531 call cloud%create_inv_cloud_effective_size_eta(klon, klev, & 508 532 & thermodynamics%pressure_hl, & … … 510 534 & driver_config%middle_inv_effective_size, & 511 535 & driver_config%high_inv_effective_size, 0.8_jprb, 0.45_jprb) 512 else if (driver_config%cloud_separation_scale_surface > 0.0_jprb & 513 .and. driver_config%cloud_separation_scale_toa > 0.0_jprb) then 514 call cloud%param_cloud_effective_separation_eta(klon, klev, & 536 ! else if (driver_config%cloud_separation_scale_surface > 0.0_jprb & 537 ! .and. driver_config%cloud_separation_scale_toa > 0.0_jprb) then 538 else if (driver_config%ok_separation) then 539 call cloud%param_cloud_effective_separation_eta(klon, klev, & 515 540 & thermodynamics%pressure_hl, & 516 541 & driver_config%cloud_separation_scale_surface, & -
LMDZ6/trunk/libf/phylmd/ecrad/setup_config_from_lmdz.F90
r4543 r4570 8 8 9 9 type driver_config_type 10 logical :: ok_effective_size = .true. 11 logical :: ok_separation = .false. 10 12 real(jprb) :: high_inv_effective_size = -1.0_jprb ! m-1 11 13 real(jprb) :: middle_inv_effective_size = -1.0_jprb ! m-1 12 14 real(jprb) :: low_inv_effective_size = -1.0_jprb ! m-1 13 real(jprb) :: cloud_inhom_separation_factor = 1.0_jprb15 real(jprb) :: cloud_inhom_separation_factor = -1.0_jprb 14 16 real(jprb) :: cloud_separation_scale_surface = -1.0_jprb 15 17 real(jprb) :: cloud_separation_scale_toa = -1.0_jprb … … 34 36 character(*), intent(in) :: file_name 35 37 logical, intent(out), optional :: is_success 36 integer :: iosopen ! Status after calling open 38 logical :: ok_effective_size, ok_separation 39 integer :: iosopen ! Status after calling open 37 40 real(jprb) :: high_inv_effective_size 38 41 real(jprb) :: middle_inv_effective_size … … 45 48 real(jprb) :: overlap_decorr_length 46 49 47 namelist /radiation_driver/ frac_std, overlap_decorr_length, & 50 namelist /radiation_driver/ ok_effective_size, ok_separation, & 51 & frac_std, overlap_decorr_length, & 48 52 & high_inv_effective_size, middle_inv_effective_size, low_inv_effective_size, & 49 53 & cloud_inhom_separation_factor, cloud_separation_scale_surface, & 50 54 & cloud_separation_scale_toa, cloud_separation_scale_power 55 56 ok_effective_size = .false. 57 ok_separation = .false. 58 high_inv_effective_size = -1.0_jprb 59 middle_inv_effective_size = -1.0_jprb 60 low_inv_effective_size = -1.0_jprb 61 cloud_inhom_separation_factor = -1.0_jprb 62 cloud_separation_scale_surface = -1.0_jprb 63 cloud_separation_scale_toa = -1.0_jprb 64 cloud_separation_scale_power = -1.0_jprb 65 frac_std = 0.75_jprb 66 overlap_decorr_length = 2000.0_jprb 51 67 52 68 ! Open the namelist file and read the radiation_driver namelist … … 72 88 73 89 ! Copy namelist data into configuration object 90 this%ok_effective_size = ok_effective_size 91 this%ok_separation = ok_separation 74 92 this%frac_std = frac_std 75 93 this%overlap_decorr_length = overlap_decorr_length
Note: See TracChangeset
for help on using the changeset viewer.