Changeset 15547 for NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE
- Timestamp:
- 2021-11-27T11:04:33+01:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diaharm_fast.F90
r15502 r15547 7 7 8 8 !!---------------------------------------------------------------------- 9 !! 'key_harm_ana': Calculate harmonic analysis9 !! : Calculate harmonic analysis 10 10 !!---------------------------------------------------------------------- 11 11 !! harm_ana : … … 162 162 163 163 164 DO jh = 1, nb_ana165 166 tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anau_utide'167 IF( iom_use(TRIM(tmp_name)) ) THEN168 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) )169 CALL iom_put( TRIM(tmp_name), anau(jh) )170 !ELSE171 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name)172 ENDIF173 174 tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anav_v0tide'175 IF( iom_use(TRIM(tmp_name)) ) THEN176 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anav(jh) )177 CALL iom_put( TRIM(tmp_name), anav(jh) )178 !ELSE179 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name)180 ENDIF181 182 tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anaf_ftide'183 IF( iom_use(TRIM(tmp_name)) ) THEN184 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anaf(jh) )185 CALL iom_put( TRIM(tmp_name), anaf(jh) )186 !ELSE187 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name)188 ENDIF189 190 END DO191 164 ! DO jh = 1, nb_ana 165 166 ! tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anau_utide' 167 ! IF( iom_use(TRIM(tmp_name)) ) THEN 168 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 169 ! CALL iom_put( TRIM(tmp_name), anau(jh) ) 170 ! !ELSE 171 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 172 ! ENDIF 173 174 ! tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anav_v0tide' 175 ! IF( iom_use(TRIM(tmp_name)) ) THEN 176 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anav(jh) ) 177 ! CALL iom_put( TRIM(tmp_name), anav(jh) ) 178 ! !ELSE 179 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 180 ! ENDIF 181 182 ! tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_anaf_ftide' 183 ! IF( iom_use(TRIM(tmp_name)) ) THEN 184 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anaf(jh) ) 185 ! CALL iom_put( TRIM(tmp_name), anaf(jh) ) 186 ! !ELSE 187 ! ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 188 ! ENDIF 189 190 ! END DO 191 ! 192 192 193 193 IF ( ln_diaharm_fast .and. ln_diaharm_store .and. ( lk_diaharm_2D .or. lk_diaharm_3D) ) THEN … … 199 199 sec2start_old = nint( (fjulday-fjulday_startharm)*86400._wp ) 200 200 sec2start = nsec_day - NINT(0.5_wp * rdt) 201 202 203 204 205 IF( iom_use('tide_t') ) CALL iom_put( 'tide_t', sec2start ) 206 207 208 209 201 210 !IF(lwp) WRITE(numout,*) "ztime NEW", kt, sec2start, fjulday_startharm 202 211 -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/SBC/sbctide.F90
r14266 r15547 19 19 USE bdytides ! davbyr - Access to love number 20 20 21 USE tide_mod 22 21 23 IMPLICIT NONE 22 24 PUBLIC … … 48 50 INTEGER :: jk ! dummy loop index 49 51 INTEGER :: nsec_day_orig ! Temporary variable 52 CHARACTER (len=40) :: tmp_name 50 53 !!---------------------------------------------------------------------- 51 54 … … 97 100 nsec_day = nsec_day_orig 98 101 ENDIF 102 103 104 DO jk = 1, nb_harmo 105 106 107 108 109 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_utide' 110 IF( iom_use(TRIM(tmp_name)) ) THEN 111 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 112 CALL iom_put( TRIM(tmp_name), utide(jk) ) 113 !ELSE 114 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 115 ENDIF 116 117 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_v0tide' 118 IF( iom_use(TRIM(tmp_name)) ) THEN 119 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 120 CALL iom_put( TRIM(tmp_name), v0tide(jk) ) 121 !ELSE 122 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 123 ENDIF 124 125 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_v0tide_origin' 126 IF( iom_use(TRIM(tmp_name)) ) THEN 127 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 128 CALL iom_put( TRIM(tmp_name), v0linearintercept(jk) ) 129 !ELSE 130 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 131 ENDIF 132 133 134 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_ftide' 135 IF( iom_use(TRIM(tmp_name)) ) THEN 136 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 137 CALL iom_put( TRIM(tmp_name), ftide(jk) ) 138 !ELSE 139 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 140 ENDIF 141 142 143 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_per' 144 IF( iom_use(TRIM(tmp_name)) ) THEN 145 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 146 CALL iom_put( TRIM(tmp_name), 2*rpi/(3600.0_wp*omega_tide(jk)) ) 147 !ELSE 148 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 149 ENDIF 150 151 152 tmp_name=TRIM(Wave(ntide(jk))%cname_tide)//'_freq' 153 IF( iom_use(TRIM(tmp_name)) ) THEN 154 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 155 CALL iom_put( TRIM(tmp_name), omega_tide(jk) ) 156 !ELSE 157 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 158 ENDIF 159 160 161 END DO 99 162 ! 100 163 END SUBROUTINE sbc_tide 164 101 165 102 166 -
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/SBC/tide_mod.F90
r15500 r15547 15 15 USE ioipsl , ONLY : ymds2ju ! for calendar 16 16 17 USE iom 17 18 18 19 IMPLICIT NONE … … 25 26 ! davbyr: increase maximum number of harmonics from 19 to 34 26 27 INTEGER, PUBLIC, PARAMETER :: jpmax_harmo = 34 !: maximum number of harmonic 28 29 30 REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) :: v0linearintercept 31 32 27 33 28 34 TYPE, PUBLIC :: tide … … 140 146 ENDIF 141 147 142 IF ( ln_tide_compress ) CALL astronomic_angle_origin 148 !IF ( ln_tide_compress ) 149 CALL astronomic_angle_origin 143 150 144 151 END SUBROUTINE tide_init_calendar_options … … 969 976 REAL(wp) :: hours_since_origin 970 977 REAL(wp), DIMENSION(kc) :: pomega ! pulsation in radians/s 971 REAL(wp), DIMENSION(kc) :: freq_per_day, v0linearslope,v0linearintercept ! pulsation in radians/s !offset,cycle_reset,freq,per_hr 978 REAL(wp), DIMENSION(kc) :: freq_per_day, v0linearslope ! ,v0linearintercept ! pulsation in radians/s !offset,cycle_reset,freq,per_hr 979 CHARACTER (len=40) :: tmp_name 972 980 !! JT for compress 973 981 974 982 983 IF( .NOT. ALLOCATED(v0linearintercept) ) ALLOCATE( v0linearintercept(kc) ) 984 975 985 976 986 IF ( ln_tide_compress) THEN … … 1274 1284 ! Linear with time 1275 1285 1286 v0linearintercept(jh) = sh_T_o * Wave( ktide(jh) )%nT & 1287 & + sh_s_o * Wave( ktide(jh) )%ns & 1288 & + sh_h_o * Wave( ktide(jh) )%nh & 1289 & + sh_p_o * Wave( ktide(jh) )%np & 1290 & + sh_p1_o* Wave( ktide(jh) )%np1 & 1291 & + Wave( ktide(jh) )%shift * rad 1292 1293 1276 1294 IF ( ln_tide_compress ) THEN 1277 1278 v0linearintercept(jh) = sh_T_o * Wave( ktide(jh) )%nT &1279 & + sh_s_o * Wave( ktide(jh) )%ns &1280 & + sh_h_o * Wave( ktide(jh) )%nh &1281 & + sh_p_o * Wave( ktide(jh) )%np &1282 & + sh_p1_o* Wave( ktide(jh) )%np1 &1283 & + Wave( ktide(jh) )%shift * rad1284 1285 1286 1295 1287 1296 !JT pvt(jh) = mod( ( (v0linearslope(jh)*days_since_origin) + v0linearintercept( ktide(jh) ) ), 2*rpi)-(2*rpi) … … 1329 1338 END DO 1330 1339 ENDIF 1340 1341 1342 1343 1344 DO jh = 1, kc 1345 1346 tmp_name=TRIM(Wave(ktide(jh))%cname_tide)//'_utide' 1347 IF( iom_use(TRIM(tmp_name)) ) THEN 1348 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anau(jh) ) 1349 CALL iom_put( TRIM(tmp_name), put(jh) ) 1350 !ELSE 1351 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 1352 ENDIF 1353 1354 tmp_name=TRIM(Wave(ktide(jh))%cname_tide)//'_v0tide' 1355 IF( iom_use(TRIM(tmp_name)) ) THEN 1356 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anav(jh) ) 1357 CALL iom_put( TRIM(tmp_name), pvt(jh) ) 1358 !ELSE 1359 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 1360 ENDIF 1361 1362 tmp_name=TRIM(Wave(ktide(jh))%cname_tide)//'_v0tide_origin' 1363 IF( iom_use(TRIM(tmp_name)) ) THEN 1364 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anav(jh) ) 1365 CALL iom_put( TRIM(tmp_name), v0linearintercept(jh) ) 1366 !ELSE 1367 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 1368 ENDIF 1369 1370 1371 1372 1373 tmp_name=TRIM(Wave(ktide(jh))%cname_tide)//'_ftide' 1374 IF( iom_use(TRIM(tmp_name)) ) THEN 1375 ! IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(anaf(jh) ) 1376 CALL iom_put( TRIM(tmp_name), pcor(jh) ) 1377 !ELSE 1378 ! IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 1379 ENDIF 1380 1381 END DO 1382 1383 1384 1385 1386 1387 1388 1389 1390 1331 1391 1332 1392
Note: See TracChangeset
for help on using the changeset viewer.