Changeset 11938
- Timestamp:
- 2019-11-20T15:45:47+01:00 (5 years ago)
- Location:
- branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r9486 r11938 21 21 !! dyn_asm_inc : Apply the dynamic (u and v) increments 22 22 !! ssh_asm_inc : Apply the SSH increment 23 !! seaice_asm_inc : Apply the sea ice increment23 !! seaice_asm_inc : Apply the sea ice increment 24 24 !!---------------------------------------------------------------------- 25 25 USE wrk_nemo ! Memory Allocation … … 62 62 LOGICAL, PUBLIC :: ln_dyninc = .FALSE. !: No dynamics (u and v) assimilation increments 63 63 LOGICAL, PUBLIC :: ln_sshinc = .FALSE. !: No sea surface height assimilation increment 64 LOGICAL, PUBLIC :: ln_seaiceinc 64 LOGICAL, PUBLIC :: ln_seaiceinc = .FALSE. !: No sea ice concentration increment 65 65 LOGICAL, PUBLIC :: ln_salfix = .FALSE. !: Apply minimum salinity check 66 66 LOGICAL, PUBLIC :: ln_temnofreeze = .FALSE. !: Don't allow the temperature to drop below freezing … … 160 160 WRITE(numout,*) ' Logical switch for applying SSH increments ln_sshinc = ', ln_sshinc 161 161 WRITE(numout,*) ' Logical switch for Direct Initialization (DI) ln_asmdin = ', ln_asmdin 162 WRITE(numout,*) ' Logical switch for applying sea ice increments ln_seaiceinc = ', ln_seaiceinc162 WRITE(numout,*) ' Logical switch for applying sea ice increments ln_seaiceinc = ', ln_seaiceinc 163 163 WRITE(numout,*) ' Logical switch for Incremental Analysis Updating (IAU) ln_asmiau = ', ln_asmiau 164 164 WRITE(numout,*) ' Timestep of background in [0,nitend-nit000-1] nitbkg = ', nitbkg … … 216 216 217 217 IF ( ( ( .NOT. ln_asmdin ).AND.( .NOT. ln_asmiau ) ) & 218 .AND.( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ) .OR. ( ln_seaiceinc) )) & 219 & CALL ctl_stop( ' One or more of ln_trainc, ln_dyninc, ln_sshinc and ln_seaiceinc is set to .true.', & 218 .AND.( ( ln_trainc ).OR.( ln_dyninc ).OR.( ln_sshinc ).OR.( ln_seaiceinc) )) & 219 & CALL ctl_stop( ' One or more of ln_trainc, ln_dyninc, ln_sshinc,', & 220 & ' and ln_seaiceinc is set to .true.', & 220 221 & ' but ln_asmdin and ln_asmiau are both set to .false. :', & 221 222 & ' Inconsistent options') … … 227 228 IF ( ( .NOT. ln_trainc ).AND.( .NOT. ln_dyninc ).AND.( .NOT. ln_sshinc ).AND.( .NOT. ln_seaiceinc ) & 228 229 & ) & 229 & CALL ctl_warn( ' ln_trainc, ln_dyninc, ln_sshinc and ln_seaiceinc are set to .false. :', & 230 & CALL ctl_warn( ' ln_trainc, ln_dyninc, ln_sshinc', & 231 & ' and ln_seaiceinc are set to .false. :', & 230 232 & ' The assimilation increments are not applied') 231 233 … … 922 924 ! 923 925 END SUBROUTINE ssh_asm_inc 924 925 926 926 927 SUBROUTINE seaice_asm_inc( kt, kindic ) -
branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
r11932 r11938 101 101 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fr_iu !: ice fraction at NEMO U point 102 102 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fr_iv !: ice fraction at NEMO V point 103 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_iu !: ice thickness at NEMO U point104 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_iv !: ice thickness at NEMO V point105 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_su !: snow depth at NEMO U point106 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_sv !: snow depth at NEMO V point107 103 108 104 ! variables used in the coupled interface … … 160 156 wndj_ice(jpi,jpj) , nfrzmlt(jpi,jpj) , ss_iou(jpi,jpj) , & 161 157 ss_iov(jpi,jpj) , fr_iu(jpi,jpj) , fr_iv(jpi,jpj) , & 162 thick_iu(jpi,jpj) , thick_iv(jpi,jpj) , &163 thick_su(jpi,jpj) , thick_sv(jpi,jpj) , &164 ht_i(jpi,jpj,ncat) , ht_s(jpi,jpj,ncat) , &165 158 a_i(jpi,jpj,ncat) , topmelt(jpi,jpj,ncat) , botmelt(jpi,jpj,ncat) , & 166 159 STAT= ierr(1) ) -
branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r11935 r11938 121 121 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sprecip !: solid precipitation [Kg/m2/s] 122 122 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fr_i !: ice fraction = 1 - lead fraction (between 0 to 1) 123 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_i !: ice thickness [m]124 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: thick_s !: snow depth [m]125 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vol_i !: ice volume [m3]126 123 #if defined key_cpl_carbon_cycle 127 124 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: atm_co2 !: atmospheric pCO2 [ppm] … … 170 167 ! 171 168 ALLOCATE( tprecip(jpi,jpj) , sprecip(jpi,jpj) , fr_i(jpi,jpj) , & 172 & thick_i(jpi,jpj) , thick_s(jpi,jpj) , vol_i(jpi,jpj), &173 169 #if defined key_cpl_carbon_cycle 174 170 & atm_co2(jpi,jpj) , & -
branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r11935 r11938 229 229 CALL lbc_lnk ( fr_iu , 'U', 1. ) 230 230 CALL lbc_lnk ( fr_iv , 'V', 1. ) 231 232 ! Snow and ice thickness233 ! vice, vsno is volume per unit area of grid cell = thickness234 CALL cice2nemo(vice,thick_i,'T', 1. )235 CALL cice2nemo(vsno,thick_s,'T', 1. )236 237 IF ( (ksbc == jp_flx) .OR. (ksbc == jp_purecpl) ) THEN238 DO jl = 1,ncat239 CALL cice2nemo(vsnon(:,:,jl,:),ht_s(:,:,jl),'T', 1.)240 CALL cice2nemo(vicen(:,:,jl,:),ht_i(:,:,jl),'T', 1.)241 ENDDO242 ENDIF243 244 ! T point to U point245 ! T point to V point246 247 ! Sea ice thickness248 thick_iu(:,:)=0.0249 thick_iv(:,:)=0.0250 DO jj=1,jpjm1251 DO ji=1,jpim1252 thick_iu(ji,jj)=0.5*(thick_i(ji,jj)+thick_i(ji+1,jj))*umask(ji,jj,1)253 thick_iv(ji,jj)=0.5*(thick_i(ji,jj)+thick_i(ji,jj+1))*vmask(ji,jj,1)254 ENDDO255 ENDDO256 257 CALL lbc_lnk ( thick_iu , 'U', 1. )258 CALL lbc_lnk ( thick_iv , 'V', 1. )259 260 ! Snow depth261 thick_su(:,:)=0.0262 thick_sv(:,:)=0.0263 DO jj=1,jpjm1264 DO ji=1,jpim1265 thick_su(ji,jj)=0.5*(thick_s(ji,jj)+thick_s(ji+1,jj))*umask(ji,jj,1)266 thick_sv(ji,jj)=0.5*(thick_s(ji,jj)+thick_s(ji,jj+1))*vmask(ji,jj,1)267 ENDDO268 ENDDO269 270 CALL lbc_lnk ( thick_su , 'U', 1. )271 CALL lbc_lnk ( thick_sv , 'V', 1. )272 231 273 232 ! ! embedded sea ice
Note: See TracChangeset
for help on using the changeset viewer.