Changeset 3865 for branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC
- Timestamp:
- 2013-04-09T18:34:38+02:00 (11 years ago)
- Location:
- branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r3680 r3865 91 91 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sss_m !: mean (nn_fsbc time-step) surface sea salinity [psu] 92 92 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ssh_m !: mean (nn_fsbc time-step) sea surface height [m] 93 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: e3t_m !: mean (nn_fsbc time-step) sea surface height [m] 93 94 94 95 !! * Substitutions … … 105 106 !! *** FUNCTION sbc_oce_alloc *** 106 107 !!--------------------------------------------------------------------- 107 INTEGER :: ierr( 4)108 INTEGER :: ierr(5) 108 109 !!--------------------------------------------------------------------- 109 110 ierr(:) = 0 … … 126 127 & ssu_m (jpi,jpj) , sst_m(jpi,jpj) , & 127 128 & ssv_m (jpi,jpj) , sss_m (jpi,jpj), ssh_m(jpi,jpj) , STAT=ierr(4) ) 129 ! 130 #if defined key_vvl 131 ALLOCATE( e3t_m(jpi,jpj) , STAT=ierr(5) ) 132 #endif 128 133 ! 129 134 sbc_oce_alloc = MAXVAL( ierr ) -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r3625 r3865 412 412 ! Freezing/melting potential 413 413 ! Calculated over NEMO leapfrog timestep (hence 2*dt) 414 nfrzmlt(:,:)=rau0*rcp*fse3t_m(:,: ,1)*(Tocnfrz-sst_m(:,:))/(2.0*dt)414 nfrzmlt(:,:)=rau0*rcp*fse3t_m(:,:)*(Tocnfrz-sst_m(:,:))/(2.0*dt) 415 415 416 416 ztmp(:,:) = nfrzmlt(:,:) -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90
r3680 r3865 24 24 PRIVATE 25 25 26 PUBLIC sbc_ssm ! routine called by step.F90 27 PUBLIC sbc_ssm_init ! routine called by sbcmod.F90 28 26 PUBLIC sbc_ssm ! routine called by step.F90 27 29 28 LOGICAL, SAVE :: l_ssm_mean = .FALSE. ! keep track of whether means have been read 30 29 ! from restart file 31 30 32 31 !! * Substitutions 33 32 # include "domzgr_substitute.h90" … … 67 66 ELSE ; ssh_m(:,:) = sshn(:,:) 68 67 ENDIF 69 68 ! 69 IF( lk_vvl ) fse3t_m(:,:) = fse3t_n(:,:,1) 70 70 ! 71 71 ELSE … … 84 84 ELSE ; ssh_m(:,:) = zcoef * sshn(:,:) 85 85 ENDIF 86 IF( lk_vvl ) fse3t_m(:,:) = zcoef * fse3t_n(:,:,1) 86 87 ! ! ---------------------------------------- ! 87 88 ELSEIF( MOD( kt - 2 , nn_fsbc ) == 0 ) THEN ! Initialisation: New mean computation ! … … 92 93 sss_m(:,:) = 0.e0 93 94 ssh_m(:,:) = 0.e0 95 IF( lk_vvl ) fse3t_m(:,:) = 0.e0 94 96 ENDIF 95 97 ! ! ---------------------------------------- ! … … 104 106 ELSE ; ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 105 107 ENDIF 108 IF( lk_vvl ) fse3t_m(:,:) = fse3t_m(:,:) + fse3t_n(:,:,1) 106 109 107 110 ! ! ---------------------------------------- ! … … 114 117 ssv_m(:,:) = ssv_m(:,:) * zcoef ! 115 118 ssh_m(:,:) = ssh_m(:,:) * zcoef ! mean SSH [m] 119 IF( lk_vvl ) fse3t_m(:,:) = fse3t_m(:,:) * zcoef ! mean vertical scale factor [m] 116 120 ! 117 121 ENDIF … … 130 134 CALL iom_rstput( kt, nitrst, numrow, 'sss_m' , sss_m ) 131 135 CALL iom_rstput( kt, nitrst, numrow, 'ssh_m' , ssh_m ) 136 IF( lk_vvl ) THEN 137 CALL iom_rstput( kt, nitrst, numrow, 'fse3t_m' , fse3t_m(:,:) ) 138 END IF 132 139 ! 133 140 ENDIF … … 168 175 CALL iom_get( numror, jpdom_autoglo, 'sss_m' , sss_m ) ! " " salinity (T-point) 169 176 CALL iom_get( numror, jpdom_autoglo, 'ssh_m' , ssh_m ) ! " " height (T-point) 177 IF( lk_vvl ) CALL iom_get( numror, jpdom_autoglo, 'fse3t_m', fse3t_m(:,:) ) 170 178 ! 171 179 IF( zf_sbc /= REAL( nn_fsbc, wp ) ) THEN ! nn_fsbc has changed between 2 runs … … 178 186 sss_m(:,:) = zcoef * sss_m(:,:) 179 187 ssh_m(:,:) = zcoef * ssh_m(:,:) 188 IF( lk_vvl ) fse3t_m(:,:) = zcoef * fse3t_m(:,:) 180 189 ELSE 181 190 IF(lwp) WRITE(numout,*) '~~~~~~~ mean fields read in the ocean restart file' -
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r3680 r3865 155 155 DO jj = 1, jpj-1 156 156 DO ji = 1, jpi-1 157 usd3d(ji,jj,jk) = usd2d(ji,jj)*exp(2.0*uwavenum(ji,jj)*(-MIN( gdept (ji,jj,jk) , gdept(ji+1,jj ,jk))))158 vsd3d(ji,jj,jk) = vsd2d(ji,jj)*exp(2.0*vwavenum(ji,jj)*(-MIN( gdept (ji,jj,jk) , gdept(ji ,jj+1,jk))))157 usd3d(ji,jj,jk) = usd2d(ji,jj)*exp(2.0*uwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji+1,jj ,jk)))) 158 vsd3d(ji,jj,jk) = vsd2d(ji,jj)*exp(2.0*vwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji ,jj+1,jk)))) 159 159 END DO 160 160 END DO 161 usd3d(jpi,:,jk) = usd2d(jpi,:)*exp( 2.0*uwavenum(jpi,:)*(-gdept (jpi,:,jk)) )162 vsd3d(:,jpj,jk) = vsd2d(:,jpj)*exp( 2.0*vwavenum(:,jpj)*(-gdept (:,jpj,jk)) )161 usd3d(jpi,:,jk) = usd2d(jpi,:)*exp( 2.0*uwavenum(jpi,:)*(-gdept_0(jpi,:,jk)) ) 162 vsd3d(:,jpj,jk) = vsd2d(:,jpj)*exp( 2.0*vwavenum(:,jpj)*(-gdept_0(:,jpj,jk)) ) 163 163 END DO 164 164
Note: See TracChangeset
for help on using the changeset viewer.