Changeset 5026
- Timestamp:
- 2015-01-14T12:48:38+01:00 (9 years ago)
- Location:
- branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/DOM/phycst.F90
r4990 r5026 67 67 REAL(wp), PUBLIC :: rcdsn = 0.31_wp !: thermal conductivity of snow 68 68 REAL(wp), PUBLIC :: cpic = 2067.0_wp !: specific heat for ice 69 #if defined key_cice 70 REAL(wp), PUBLIC :: lsub = 2.835e+6_wp !: pure ice latent heat of sublimation [J/kg] 71 #else 69 72 REAL(wp), PUBLIC :: lsub = 2.834e+6_wp !: pure ice latent heat of sublimation [J/kg] 73 #endif 70 74 REAL(wp), PUBLIC :: lfus = 0.334e+6_wp !: latent heat of fusion of fresh ice [J/kg] 71 75 REAL(wp), PUBLIC :: tmut = 0.054_wp !: decrease of seawater meltpoint with salinity -
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r5009 r5026 139 139 140 140 #if defined key_cice 141 ALLOCATE( qla_ice(jpi,jpj, 1) , qlw_ice(jpi,jpj,1) , qsr_ice(jpi,jpj,1) , &141 ALLOCATE( qla_ice(jpi,jpj,ncat) , qlw_ice(jpi,jpj,1) , qsr_ice(jpi,jpj,1) , & 142 142 wndi_ice(jpi,jpj) , tatm_ice(jpi,jpj) , qatm_ice(jpi,jpj) , & 143 143 wndj_ice(jpi,jpj) , nfrzmlt(jpi,jpj) , ss_iou(jpi,jpj) , & -
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5009 r5026 43 43 #if defined key_cpl_carbon_cycle 44 44 USE p4zflx, ONLY : oce_co2 45 #endif46 #if defined key_cice47 USE ice_domain_size, only: ncat48 45 #endif 49 46 IMPLICIT NONE … … 367 364 CASE default ; CALL ctl_stop( 'sbc_cpl_init: wrong definition of sn_rcv_emp%cldes' ) 368 365 END SELECT 369 366 !Set the number of categories for coupling of sublimation 367 IF ( TRIM( sn_rcv_emp%clcat ) == 'yes' ) srcv(jpr_ievp)%nct = jpl 368 ! 370 369 ! ! ------------------------- ! 371 370 ! ! Runoffs & Calving ! … … 1126 1125 tprecip(:,:) = frcv(jpr_rain)%z3(:,:,1) + sprecip (:,:) ! May need to ensure positive here 1127 1126 emp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - tprecip(:,:) 1127 #if defined key_cice 1128 IF ( TRIM(sn_rcv_emp%clcat) == 'yes' ) THEN 1129 ! emp_ice is the sum of frcv(jpr_ievp)%z3(:,:,1) over all layers - snow 1130 emp_ice(:,:) = - frcv(jpr_snow)%z3(:,:,1) 1131 DO jl=1,jpl 1132 emp_ice(:,: ) = emp_ice(:,:) + frcv(jpr_ievp)%z3(:,:,jl) 1133 ENDDO 1134 ! latent heat coupled for each category in CICE 1135 qla_ice(:,:,1:jpl) = - frcv(jpr_ievp)%z3(:,:,1:jpl) * lsub 1136 ELSE 1137 ! If CICE has multicategories it still expects coupling fields for 1138 ! each even if we treat as a single field 1139 ! The latent heat flux is split between the ice categories according 1140 ! to the fraction of the ice in each category 1141 emp_ice(:,:) = frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) 1142 WHERE ( zicefr(:,:) /= 0._wp ) 1143 ztmp(:,:) = 1./zicefr(:,:) 1144 ELSEWHERE 1145 ztmp(:,:) = 0.e0 1146 END WHERE 1147 DO jl=1,jpl 1148 qla_ice(:,:,jl) = - a_i(:,:,jl) * ztmp(:,:) * frcv(jpr_ievp)%z3(:,:,1) * lsub 1149 END DO 1150 WHERE ( zicefr(:,:) == 0._wp ) qla_ice(:,:,1) = -frcv(jpr_ievp)%z3(:,:,1) * lsub 1151 ENDIF 1152 #else 1128 1153 emp_ice(:,:) = frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) 1154 #endif 1129 1155 CALL iom_put( 'rain' , frcv(jpr_rain)%z3(:,:,1) ) ! liquid precipitation 1130 1156 IF( iom_use('hflx_rain_cea') ) & -
branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r4990 r5026 346 346 ENDDO 347 347 ELSE 348 ! emp_ice is set in sbc_cpl_ice_flx as sublimation-snow 349 qla_ice(:,:,1)= - ( emp_ice(:,:)+sprecip(:,:) ) * Lsub 350 ! End of temporary code 351 DO jj=1,jpj 352 DO ji=1,jpi 353 IF (fr_i(ji,jj).eq.0.0) THEN 354 DO jl=1,ncat 355 ztmpn(ji,jj,jl)=0.0 356 ENDDO 357 ! This will then be conserved in CICE 358 ztmpn(ji,jj,1)=qla_ice(ji,jj,1) 359 ELSE 360 DO jl=1,ncat 361 ztmpn(ji,jj,jl)=qla_ice(ji,jj,1)*a_i(ji,jj,jl)/fr_i(ji,jj) 362 ENDDO 363 ENDIF 364 ENDDO 365 ENDDO 348 !In coupled mode - qla_ice calculated in sbc_cpl for each category 349 ztmpn(:,:,1:ncat)=qla_ice(:,:,1:ncat) 366 350 ENDIF 351 367 352 DO jl=1,ncat 368 353 CALL nemo2cice(ztmpn(:,:,jl),flatn_f(:,:,jl,:),'T', 1. )
Note: See TracChangeset
for help on using the changeset viewer.