Changeset 12461
- Timestamp:
- 2020-02-25T18:24:46+01:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE/SBC/sbcapr.F90
r11715 r12461 16 16 USE fldread ! read input fields 17 17 USE in_out_manager ! I/O manager 18 USE lib_fortran ! distribu ed memory computing library18 USE lib_fortran ! distributed memory computing library 19 19 USE iom ! IOM library 20 20 USE lib_mpp ! MPP library … … 29 29 LOGICAL, PUBLIC :: ln_apr_obc = .false. !: inverse barometer added to OBC ssh data 30 30 LOGICAL, PUBLIC :: ln_ref_apr !: ref. pressure: global mean Patm (F) or a constant (F) 31 REAL(wp) 31 REAL(wp),PUBLIC :: rn_pref ! reference atmospheric pressure [N/m2] 32 32 33 33 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: ssh_ib ! Inverse barometer now sea surface height [m] … … 35 35 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: apr ! atmospheric pressure at kt [N/m2] 36 36 37 REAL(wp) :: tarea! whole domain mean masked ocean surface38 REAL(wp) :: r1_grau! = 1.e0 / (grav * rau0)37 REAL(wp), PUBLIC :: tarea ! whole domain mean masked ocean surface 38 REAL(wp), PUBLIC :: r1_grau ! = 1.e0 / (grav * rau0) 39 39 40 LOGICAL, PUBLIC :: cpl_mslp = .FALSE. ! Presure is passed via coupling 41 40 42 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_apr ! structure of input fields (file informations, fields read) 41 43 … … 78 80 IF(lwm) WRITE ( numond, namsbc_apr ) 79 81 ! 80 ALLOCATE( sf_apr(1), STAT=ierror ) !* allocate and fill sf_sst (forcing structure) with sn_sst 81 IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_apr: unable to allocate sf_apr structure' ) 82 ! 83 CALL fld_fill( sf_apr, (/ sn_apr /), cn_dir, 'sbc_apr', 'Atmospheric pressure ', 'namsbc_apr' ) 82 IF( .NOT. cpl_mslp ) THEN 83 ALLOCATE( sf_apr(1), STAT=ierror ) !* allocate and fill sf_sst (forcing structure) with sn_sst 84 IF( ierror > 0 ) CALL ctl_stop( 'STOP', 'sbc_apr: unable to allocate sf_apr structure' ) 85 ! 86 CALL fld_fill( sf_apr, (/ sn_apr /), cn_dir, 'sbc_apr', 'Atmospheric pressure ', 'namsbc_apr' ) 84 87 ALLOCATE( sf_apr(1)%fnow(jpi,jpj,1) ) 85 IF( sn_apr%ln_tint ) ALLOCATE( sf_apr(1)%fdta(jpi,jpj,1,2) ) 86 ALLOCATE( ssh_ib(jpi,jpj) , ssh_ibb(jpi,jpj) ) 87 ALLOCATE( apr (jpi,jpj) ) 88 IF( sn_apr%ln_tint ) ALLOCATE( sf_apr(1)%fdta(jpi,jpj,1,2) ) 89 ENDIF 90 ALLOCATE( ssh_ib(jpi,jpj) , ssh_ibb(jpi,jpj) ) 91 ALLOCATE( apr (jpi,jpj) ) 88 92 ! 89 93 IF( lwp )THEN !* control print 90 94 WRITE(numout,*) 91 WRITE(numout,*) ' Namelist namsbc_apr : Atmospheric PRessure as extrenal forcing' 95 IF( cpl_mslp ) THEN 96 WRITE(numout,*) ' Namelist namsbc_apr : Atmospheric PRessure as extrenal forcing' 97 ELSE 98 WRITE(numout,*) ' Namelist namsbc_apr : Atmospheric Pressure as extrenal forcing' 99 ENDIF 92 100 WRITE(numout,*) ' ref. pressure: global mean Patm (T) or a constant (F) ln_ref_apr = ', ln_ref_apr 93 101 ENDIF … … 132 140 !!---------------------------------------------------------------------- 133 141 134 ! ! ========================== ! 135 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN ! At each sbc time-step ! 136 ! ! ===========+++============ ! 137 ! 138 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 139 ! 140 CALL fld_read( kt, nn_fsbc, sf_apr ) !* input Patm provided at kt + nn_fsbc/2 141 ! 142 ! !* update the reference atmospheric pressure (if necessary) 143 IF( ln_ref_apr ) rn_pref = glob_sum( 'sbcapr', sf_apr(1)%fnow(:,:,1) * e1e2t(:,:) ) / tarea 144 ! 145 ! !* Patm related forcing at kt 146 ssh_ib(:,:) = - ( sf_apr(1)%fnow(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer) 147 apr (:,:) = sf_apr(1)%fnow(:,:,1) ! atmospheric pressure 148 ! 149 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh 150 ENDIF 151 152 ! ! ---------------------------------------- ! 153 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 154 ! ! ---------------------------------------- ! 155 ! !* Restart: read in restart file 156 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 157 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb read in the restart file' 158 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, ldxios = lrxios ) ! before inv. barometer ssh 159 ! 160 ELSE !* no restart: set from nit000 values 161 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb set to nit000 values' 162 ssh_ibb(:,:) = ssh_ib(:,:) 142 IF( .NOT. cpl_mslp ) THEN 143 ! ========================== ! 144 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN ! At each sbc time-step ! 145 ! ! ===========+++============ ! 146 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 147 ! 148 CALL fld_read( kt, nn_fsbc, sf_apr ) !* input Patm provided at kt + nn_fsbc/2 149 ! 150 ! !* update the reference atmospheric pressure (if necessary) 151 IF( ln_ref_apr ) rn_pref = glob_sum( 'sbcapr', sf_apr(1)%fnow(:,:,1) * e1e2t(:,:) ) / tarea 152 ! 153 ! !* Patm related forcing at kt 154 ssh_ib(:,:) = - ( sf_apr(1)%fnow(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer) 155 apr (:,:) = sf_apr(1)%fnow(:,:,1) ! atmospheric pressure 156 ! 157 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh 163 158 ENDIF 164 ENDIF 165 ! ! ---------------------------------------- ! 166 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 167 ! ! ---------------------------------------- ! 168 IF(lwp) WRITE(numout,*) 169 IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 170 IF(lwp) WRITE(numout,*) '~~~~' 171 IF( lwxios ) CALL iom_swap( cwxios_context ) 172 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib, ldxios = lwxios ) 159 160 ! ! ---------------------------------------- ! 161 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 162 ! ! ---------------------------------------- ! 163 ! !* Restart: read in restart file 164 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 165 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb read in the restart file' 166 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh 167 ! 168 ELSE !* no restart: set from nit000 values 169 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb set to nit000 values' 170 ssh_ibb(:,:) = ssh_ib(:,:) 171 ENDIF 172 ENDIF 173 ! ! ---------------------------------------- ! 174 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 175 ! ! ---------------------------------------- ! 176 IF(lwp) WRITE(numout,*) 177 IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 178 IF(lwp) WRITE(numout,*) '~~~~' 179 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 180 ENDIF 173 181 IF( lwxios ) CALL iom_swap( cxios_context ) 174 182 ENDIF -
NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE/SBC/sbccpl.F90
r11715 r12461 191 191 192 192 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: alb_oce_mix ! ocean albedo sent to atmosphere (mix clear/overcast sky) 193 194 REAL(wp) :: rpref = 101000._wp ! reference atmospheric pressure[N/m2]195 REAL(wp) :: r1_grau ! = 1.e0 / (grav * rau0)196 193 197 194 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:) :: nrcvinfo ! OASIS info argument … … 550 547 ! ! Mean Sea Level Pressure ! 551 548 ! ! ------------------------- ! 552 srcv(jpr_mslp)%clname = 'O_MSLP' ; IF( TRIM(sn_rcv_mslp%cldes ) == 'coupled' ) srcv(jpr_mslp)%laction = .TRUE. 549 srcv(jpr_mslp)%clname = 'O_MSLP' 550 IF( TRIM(sn_rcv_mslp%cldes ) == 'coupled' ) THEN 551 srcv(jpr_mslp)%laction = .TRUE. 552 cpl_mslp = .TRUE. 553 ENDIF 553 554 ! 554 555 ! ! ------------------------- ! … … 1095 1096 !!---------------------------------------------------------------------- 1096 1097 USE zdf_oce, ONLY : ln_zdfswm 1098 USE sbcssm , ONLY : sbc_ssm_cpl 1099 USE lib_fortran ! distributed memory computing library 1097 1100 ! 1098 1101 INTEGER, INTENT(in) :: kt ! ocean model time step index … … 1259 1262 ! ! ========================= ! 1260 1263 IF( srcv(jpr_mslp)%laction ) THEN ! UKMO SHELF effect of atmospheric pressure on SSH 1261 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 1262 1263 r1_grau = 1.e0 / (grav * rau0) !* constant for optimization 1264 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rpref ) * r1_grau ! equivalent ssh (inverse barometer) 1265 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure 1264 IF( ln_apr_dyn ) THEN 1265 IF( kt /= nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) !* Swap of ssh_ib fields 1266 1266 1267 IF( kt == nit000 ) ssh_ibb(:,:) = ssh_ib(:,:) ! correct this later (read from restart if possible) 1267 ! !* update the reference atmospheric pressure (if necessary) 1268 IF( ln_ref_apr ) rn_pref = glob_sum( 'sbccpl', frcv(jpr_mslp)%z3(:,:,1) * e1e2t(:,:) ) / tarea 1269 1270 ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rn_pref ) * r1_grau ! equivalent ssh (inverse barometer) 1271 apr (:,:) = frcv(jpr_mslp)%z3(:,:,1) !atmospheric pressure 1272 ! 1273 CALL iom_put( "ssh_ib", ssh_ib ) !* output the inverse barometer ssh 1274 ! ! ---------------------------------------- ! 1275 IF( kt == nit000 ) THEN ! set the forcing field at nit000 - 1 ! 1276 ! ! ---------------------------------------- ! 1277 !* Restart: read in restart file 1278 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 1279 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb read in the restart file' 1280 CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb ) ! before inv. barometer ssh 1281 ELSE !* no restart: set from nit000 values 1282 IF(lwp) WRITE(numout,*) 'sbc_cpl: ssh_ibb set to nit000 values' 1283 ssh_ibb(:,:) = ssh_ib(:,:) 1284 ENDIF 1285 ENDIF 1286 ! ! ---------------------------------------- ! 1287 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 1288 ! ! ---------------------------------------- ! 1289 IF(lwp) WRITE(numout,*) 1290 IF(lwp) WRITE(numout,*) 'sbc_cpl : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 1291 IF(lwp) WRITE(numout,*) '~~~~' 1292 CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 1293 ENDIF 1294 ENDIF 1295 1296 ! Update mean ssh 1297 IF( nn_components /= jp_iam_sas ) CALL sbc_ssm_cpl( kt ) 1268 1298 END IF 1269 1299 ! -
NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE/SBC/sbcmod.F90
r11715 r12461 379 379 !! - updte the ice fraction : fr_i 380 380 !!---------------------------------------------------------------------- 381 USE sbcapr, ONLY: sbc_apr 382 USE bdydta, ONLY: bdy_dta 383 ! 381 384 INTEGER, INTENT(in) :: kt ! ocean time step 382 385 ! … … 411 414 ! ! forcing field computation ! 412 415 ! ! ---------------------------------------- ! 416 IF( ln_apr_dyn ) CALL sbc_apr( kt ) ! atmospheric pressure provided at kt+0.5*nn_fsbc 417 ! (caution called before sbc_ssm) 413 418 ! 414 419 ll_sas = nn_components == jp_iam_sas ! component flags … … 435 440 ! 436 441 IF( ln_mixcpl ) CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice ) ! forced-coupled mixed formulation after forcing 442 IF( ln_bdy ) CALL bdy_dta ( kt, kt_offset=+1 ) ! update dynamic & tracer data at open boundaries 443 444 ! (caution called after sbc_ssm[_cpl] and before ice) 437 445 ! 438 446 IF ( ln_wave .AND. (ln_tauwoc .OR. ln_tauw) ) CALL sbc_wstress( ) ! Wind stress provided by waves -
NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE/SBC/sbcssm.F90
r11715 r12461 28 28 29 29 PUBLIC sbc_ssm ! routine called by step.F90 30 PUBLIC sbc_ssm_cpl ! routine called by sbccpl.F90 30 31 PUBLIC sbc_ssm_init ! routine called by sbcmod.F90 31 32 … … 76 77 sss_m(:,:) = zts(:,:,jp_sal) 77 78 ! ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 78 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 79 ELSE ; ssh_m(:,:) = sshn(:,:) 79 IF( .NOT. cpl_mslp ) THEN 80 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 81 ELSE ; ssh_m(:,:) = sshn(:,:) 82 ENDIF 80 83 ENDIF 81 84 ! … … 99 102 sss_m(:,:) = zcoef * zts(:,:,jp_sal) 100 103 ! ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 101 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = zcoef * ( sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) ) 102 ELSE ; ssh_m(:,:) = zcoef * sshn(:,:) 104 IF( .NOT. cpl_mslp ) THEN 105 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = zcoef * ( sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) ) 106 ELSE ; ssh_m(:,:) = zcoef * sshn(:,:) 107 ENDIF 103 108 ENDIF 104 109 ! … … 113 118 sst_m(:,:) = 0._wp 114 119 sss_m(:,:) = 0._wp 115 ssh_m(:,:) = 0._wp120 IF( .NOT. cpl_mslp ) ssh_m(:,:) = 0._wp 116 121 e3t_m(:,:) = 0._wp 117 122 frq_m(:,:) = 0._wp … … 127 132 sss_m(:,:) = sss_m(:,:) + zts(:,:,jp_sal) 128 133 ! ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 129 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 130 ELSE ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 134 IF( .NOT. cpl_mslp ) THEN 135 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 136 ELSE ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 137 ENDIF 131 138 ENDIF 132 139 ! … … 143 150 ssu_m(:,:) = ssu_m(:,:) * zcoef ! mean suface current [m/s] 144 151 ssv_m(:,:) = ssv_m(:,:) * zcoef ! 145 ssh_m(:,:) = ssh_m(:,:) * zcoef ! mean SSH [m]152 IF( .NOT. cpl_mslp ) ssh_m(:,:) = ssh_m(:,:) * zcoef ! mean SSH [m] 146 153 e3t_m(:,:) = e3t_m(:,:) * zcoef ! mean vertical scale factor [m] 147 154 frq_m(:,:) = frq_m(:,:) * zcoef ! mean fraction of solar net radiation absorbed in the 1st T level [-] … … 162 169 CALL iom_rstput( kt, nitrst, numrow, 'sst_m' , sst_m, ldxios = lwxios ) 163 170 CALL iom_rstput( kt, nitrst, numrow, 'sss_m' , sss_m, ldxios = lwxios ) 164 CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m, ldxios = lwxios )171 IF( .NOT. cpl_mslp ) CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m, ldxios = lwxios ) 165 172 CALL iom_rstput( kt, nitrst, numrow, 'e3t_m' , e3t_m, ldxios = lwxios ) 166 173 CALL iom_rstput( kt, nitrst, numrow, 'frq_m' , frq_m, ldxios = lwxios ) … … 182 189 ! 183 190 END SUBROUTINE sbc_ssm 191 192 SUBROUTINE sbc_ssm_cpl( kt ) 193 !!--------------------------------------------------------------------- 194 !! *** ROUTINE sbc_ssm_cpl *** 195 !! 196 !! ** Purpose : provide ocean surface variable to sea-surface boundary 197 !! condition computation when pressure is read from coupling 198 !! 199 !! ** Method : The inverse barometer ssh (i.e. ssh associated with Patm) 200 !! is added to ssh_m when ln_apr_dyn = T. Required for sea-ice dynamics. 201 !!--------------------------------------------------------------------- 202 INTEGER, INTENT(in) :: kt ! ocean time step 203 ! 204 REAL(wp) :: zcoef ! local scalar 205 !!--------------------------------------------------------------------- 206 ! 207 IF( nn_fsbc == 1 ) THEN ! Instantaneous surface fields ! 208 ! ! ---------------------------------------- ! 209 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 210 ELSE ; ssh_m(:,:) = sshn(:,:) 211 ENDIF 212 ELSE 213 ! ! ----------------------------------------------- ! 214 IF( kt == nit000 .AND. .NOT. l_ssm_mean ) THEN ! Initialisation: 1st time-step, no input means ! 215 ! ! ----------------------------------------------- ! 216 IF(lwp) WRITE(numout,*) 217 IF(lwp) WRITE(numout,*) '~~~~~~~ mean ssh field initialised to instantaneous values' 218 zcoef = REAL( nn_fsbc - 1, wp ) 219 zcoef = REAL( nn_fsbc - 1, wp ) 220 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = zcoef * ( sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) ) 221 ELSE ; ssh_m(:,:) = zcoef * sshn(:,:) 222 ENDIF 223 ! ! ---------------------------------------- ! 224 ELSEIF( MOD( kt - 2 , nn_fsbc ) == 0 ) THEN ! Initialisation: New mean computation ! 225 ! ! ---------------------------------------- ! 226 ssh_m(:,:) = 0.e0 227 ENDIF 228 229 IF( ln_apr_dyn ) THEN ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 230 ELSE ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 231 ENDIF 232 ! ! ---------------------------------------- ! 233 IF( MOD( kt - 1 , nn_fsbc ) == 0 ) THEN ! Mean value at each nn_fsbc time-step ! 234 ! ! ---------------------------------------- ! 235 zcoef = 1. / REAL( nn_fsbc, wp ) 236 ssh_m(:,:) = ssh_m(:,:) * zcoef ! mean SSH [m] 237 ENDIF 238 ! ! ---------------------------------------- ! 239 IF( lrst_oce ) THEN ! Write in the ocean restart file ! 240 ! ! ---------------------------------------- ! 241 IF(lwp) WRITE(numout,*) 242 IF(lwp) WRITE(numout,*) 'sbc_ssm_cpl : ssh mean field written in ocean restart file ', & 243 & 'at it= ', kt,' date= ', ndastp 244 IF(lwp) WRITE(numout,*) '~~~~~~~' 245 CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m ) 246 ENDIF 247 ENDIF 248 ! 249 IF( MOD( kt - 1 , nn_fsbc ) == 0 ) THEN ! Mean value at each nn_fsbc time-step ! 250 CALL iom_put( 'ssh_m', ssh_m ) 251 ENDIF 252 ! 253 END SUBROUTINE sbc_ssm_cpl 184 254 185 255 -
NEMO/branches/UKMO/r12083_cpl-pressure/src/OCE/step.F90
r11715 r12461 111 111 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 112 112 IF( ln_tide ) CALL sbc_tide( kstp ) ! update tide potential 113 IF( ln_apr_dyn ) CALL sbc_apr ( kstp ) ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib)114 IF( ln_bdy ) CALL bdy_dta ( kstp, kt_offset = +1 ) ! update dynamic & tracer data at open boundaries115 113 CALL sbc ( kstp ) ! Sea Boundary Condition (including sea-ice) 116 114
Note: See TracChangeset
for help on using the changeset viewer.