- Timestamp:
- 2012-10-02T11:28:15+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_3352_UKMO8_CICE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r3476 r3480 16 16 USE domvvl 17 17 USE phycst, only : rcp, rau0 18 USE eosbn2, only : tfreez19 18 USE in_out_manager ! I/O manager 20 19 USE lib_mpp ! distributed memory computing library … … 44 43 flatn_f,fsurfn_f,fcondtopn_f, & 45 44 uatm,vatm,wind,fsw,flw,Tair,potT,Qa,rhoa,zlvl, & 46 swvdr,swvdf,swidr,swidf ,Tf45 swvdr,swvdf,swidr,swidf 47 46 USE ice_forcing, only: frcvdr,frcvdf,frcidr,frcidf 48 47 USE ice_atmo, only: calc_strair … … 150 149 !!--------------------------------------------------------------------- 151 150 152 INTEGER :: ji, jj, jk, jl ! dummy loop indices 153 REAL(wp), DIMENSION(:,:,:), POINTER :: ztmp 151 INTEGER :: ji, jj, jl ! dummy loop indices 154 152 155 153 IF( nn_timing == 1 ) CALL timing_start('cice_sbc_init') 156 154 ! 157 CALL wrk_alloc( jpi,jpj,jpk, ztmp )158 155 IF(lwp) WRITE(numout,*)'cice_sbc_init' 159 156 … … 177 174 IF( sbc_ice_cice_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_ice_cice_alloc : unable to allocate cice arrays' ) 178 175 179 ! Set freezing temperatures and ensure consistency between NEMO and CICE180 ! (-1.8 for fully coupled, salinity dependence otherwise)181 ! Setting of Tf here or in cice_sbc_in will over-write anything already done in cice_init182 176 ! Ensure ocean temperatures are nowhere below freezing if not a NEMO restart 183 184 IF (nsbc == 5) THEN185 ztmp(:,:,:)=-1.8186 CALL nemo2cice(ztmp(:,:,1),Tf,'T', 1. ) ! Set in CICE here as won't be updated in cice_sbc_in187 ELSE188 DO jk=1,jpk189 ztmp(:,:,jk)= tfreez(tsn(:,:,jk,jp_sal),fsdepw(:,:,jk))190 ENDDO191 ENDIF192 193 177 IF( .NOT. ln_rstart ) THEN 194 tsn(:,:,:,jp_tem) = MAX (tsn(:,:,:,jp_tem), ztmp)178 tsn(:,:,:,jp_tem) = MAX (tsn(:,:,:,jp_tem),Tocnfrz) 195 179 tsb(:,:,:,jp_tem) = tsn(:,:,:,jp_tem) 196 180 ENDIF … … 217 201 CALL lbc_lnk ( fr_iu , 'U', 1. ) 218 202 CALL lbc_lnk ( fr_iv , 'V', 1. ) 219 !220 CALL wrk_dealloc( jpi,jpj,jpk, ztmp )221 203 ! 222 204 IF( nn_timing == 1 ) CALL timing_stop('cice_sbc_init') … … 375 357 CALL nemo2cice(ztmp,frain,'T', 1. ) 376 358 377 ! Recalculate freezing temperature and send to CICE except for fully coupled when378 ! it remains as -1.8 throughout the run379 IF ( nsbc==5 ) THEN380 ztmp(:,:)=-1.8381 ELSE382 ztmp(:,:)=tfreez(sss_m(:,:))383 CALL nemo2cice(ztmp,Tf,'T', 1. )384 ENDIF385 386 359 ! Freezing/melting potential 387 360 ! Calculated over NEMO leapfrog timestep (hence 2*dt) 388 nfrzmlt(:,:)=rau0*rcp*fse3t_m(:,:,1)*(ztmp(:,:)-sst_m(:,:))/(2.0*dt) 389 CALL nemo2cice(nfrzmlt,frzmlt,'T', 1. ) 361 nfrzmlt(:,:)=rau0*rcp*fse3t_m(:,:,1)*(Tocnfrz-sst_m(:,:))/(2.0*dt) 362 363 ztmp(:,:) = nfrzmlt(:,:) 364 CALL nemo2cice(ztmp,frzmlt,'T', 1. ) 390 365 391 366 ! SST and SSS
Note: See TracChangeset
for help on using the changeset viewer.