Changeset 5385 for trunk/NEMOGCM/NEMO/LIM_SRC_2
- Timestamp:
- 2015-06-09T15:50:42+02:00 (9 years ago)
- Location:
- trunk/NEMOGCM/NEMO/LIM_SRC_2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_2/ice_2.F90
r5341 r5385 67 67 68 68 !!* Ice Rheology 69 70 LOGICAL , PUBLIC:: ltrcdm2dc_ice = .FALSE. !: In case of Diurnal Cycle short wave, compute a Daily Mean short waves flux71 72 69 # if defined key_lim2_vp 73 70 ! !!* VP rheology * … … 115 112 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qdtcn !: energy from the ice to the ocean point (at a factor 2) 116 113 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thcm !: part of the solar energy used in the lead heat budget 117 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fstric_ daymean!: Solar flux transmitted trough the ice, for day mean of qsr ( PISCES, with dirunal cycle )114 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fstric_mean !: Solar flux transmitted trough the ice, for day mean of qsr ( PISCES, with dirunal cycle ) 118 115 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fstric !: Solar flux transmitted trough the ice 119 116 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ffltbif !: linked with the max heat contained in brine pockets (?) … … 175 172 & tbif (jpi,jpj,jplayersp1) , STAT=ierr(5)) 176 173 177 IF( ltrcdm2dc_ice ) ALLOCATE(fstric_daymean(jpi,jpj), STAT=ierr(6) )178 179 174 !* moment used in the advection scheme 180 175 ALLOCATE(sxice (jpi,jpj) , syice (jpi,jpj) , sxxice(jpi,jpj) , & … … 203 198 !! Default option Empty module NO LIM 2.0 sea-ice model 204 199 !!---------------------------------------------------------------------- 205 LOGICAL , PUBLIC:: ltrcdm2dc_ice = .FALSE. !: In case of Diurnal Cycle short wave, compute a Daily Mean short waves flux206 200 #endif 207 201 !!----------------------------------------------------------------- -
trunk/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90
r5341 r5385 60 60 ENDIF 61 61 ! 62 ! When Diurnal cycle, core bulk and LIM2 are activated,63 ! a daily mean qsr is computed for tracer/biogeochemistery model !64 IF( ltrcdm2dc )THEN ; ltrcdm2dc_ice = .TRUE.65 ELSE ; ltrcdm2dc_ice = .FALSE.66 ENDIF67 62 ! ! Allocate the ice arrays 68 63 ierr = ice_alloc_2 () ! ice variables -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r4990 r5385 46 46 PUBLIC lim_sbc_flx_2 ! called by sbc_ice_lim_2 47 47 PUBLIC lim_sbc_tau_2 ! called by sbc_ice_lim_2 48 PUBLIC lim_bio_meanqsr_2 ! called by sbc_ice_lim_249 48 50 49 REAL(wp) :: r1_rdtice ! = 1. / rdt_ice … … 430 429 END SUBROUTINE lim_sbc_tau_2 431 430 432 SUBROUTINE lim_bio_meanqsr_2433 !!---------------------------------------------------------------------434 !! *** ROUTINE lim_bio_meanqsr435 !!436 !! ** Purpose : provide daily qsr_mean for PISCES when437 !! analytic diurnal cycle is applied in physic438 !!439 !! ** Method : add part under ice440 !!441 !!---------------------------------------------------------------------442 443 qsr_mean(:,:) = pfrld(:,:) * qsr_mean(:,:) + ( 1. - pfrld(:,:) ) * fstric_daymean(:,:)444 445 END SUBROUTINE lim_bio_meanqsr_2446 431 447 432 SUBROUTINE lim_sbc_init_2 -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r4990 r5385 114 114 CALL wrk_alloc( jpi, jpj, jpk, zmsk ) 115 115 116 IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only)116 IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only) 117 117 118 118 !-------------------------------------------! … … 137 137 rdq_ice(:,:) = 0.e0 ! heat content associated with rdm_ice 138 138 zmsk (:,:,:) = 0.e0 139 IF( ltrcdm2dc_ice ) fstric_daymean (:,:) = 0.e0 ! part of solar radiation absorbing inside the ice140 139 141 140 ! set to zero snow thickness smaller than epsi04 … … 285 284 CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3) , jpi, jpj, npb(1:nbpb) ) 286 285 CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice(:,:,1) , jpi, jpj, npb(1:nbpb) ) 287 IF( ltrcdm2dc_ice ) &288 & CALL tab_2d_1d_2( nbpb, qsr_ice_mean_1d (1:nbpb), qsr_ice_mean(:,:,1), jpi, jpj, npb(1:nbpb) )289 286 CALL tab_2d_1d_2( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) ) 290 287 CALL tab_2d_1d_2( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) ) … … 336 333 CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb) , jpi, jpj ) 337 334 CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb) , jpi, jpj ) 338 IF( ltrcdm2dc_ice )THEN 339 CALL tab_1d_2d_2( nbpb, fstric_daymean , npb, fstbif_daymean_1d (1:nbpb) , jpi, jpj ) 340 CALL tab_1d_2d_2( nbpb, qsr_ice_mean(:,:,1), npb, qsr_ice_mean_1d(1:nbpb) , jpi, jpj ) 341 ENDIF 342 IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb) , jpi, jpj ) 335 IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb), jpi, jpj ) 343 336 ! 344 337 ENDIF -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_zdf_2.F90
r4990 r5385 273 273 END DO 274 274 275 IF( ltrcdm2dc_ice )THEN276 277 DO ji = kideb , kiut278 zihsn = MAX( zzero , SIGN (zone , -h_snow_1d(ji) ) )279 zihic = MAX( zzero , 1.0 - ( h_ice_1d(ji) / zhsu ) )280 zi0(ji) = zihsn * ( fr1_i0_1d(ji) + zihic * fr2_i0_1d(ji) )281 zexp = MIN( zone , EXP( -1.5 * ( h_ice_1d(ji) - zhsu ) ) )282 fstbif_daymean_1d(ji) = zi0(ji) * qsr_ice_mean_1d(ji) * zexp283 END DO284 285 ENDIF286 287 275 !-------------------------------------------------------------------------------- 288 276 ! 4. Computation of the surface temperature : determined by considering the -
trunk/NEMOGCM/NEMO/LIM_SRC_2/thd_ice_2.F90
r4306 r5385 55 55 fstbif_1d , & !: " " fstric 56 56 fltbif_1d , & !: " " ffltbif 57 fstbif_daymean_1d, & !: " " fstric_daymean58 57 fscbq_1d , & !: " " fscmcbq 59 58 qsr_ice_1d , & !: " " qsr_ice 60 qsr_ice_mean_1d , & !: " " qsr_ice_mean61 59 fr1_i0_1d , & !: " " fr1_i0 62 60 fr2_i0_1d , & !: " " fr2_i0 … … 122 120 & tbif_1d(jpij, jplayersp1), Stat=ierr(4)) 123 121 ! 124 IF( ltrcdm2dc_ice )ALLOCATE(fstbif_daymean_1d(jpij),qsr_ice_mean_1d(jpij),Stat=ierr(5))125 !126 122 thd_ice_alloc_2 = MAXVAL(ierr) 127 123 IF( thd_ice_alloc_2 /= 0 ) CALL ctl_warn('thd_ice_alloc_2: failed to allocate arrays')
Note: See TracChangeset
for help on using the changeset viewer.