Changeset 3247
- Timestamp:
- 2012-01-04T16:59:04+01:00 (12 years ago)
- Location:
- branches/2011/dev_NEMO_MERGE_2011/NEMOGCM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/CONFIG/AMM12/EXP00/namelist
r3220 r3247 857 857 nitend_han = 75 ! Last time step used for harmonic analysis 858 858 nstep_han = 15 ! Time step frequency for harmonic analysis 859 nb_ana = 2 ! Number of harmonics to analyse860 859 tname(1) = 'M2' ! Name of tidal constituents 861 860 tname(2) = 'K1' -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/CONFIG/AMM12_PISCES/EXP00/namelist
r3220 r3247 857 857 nitend_han = 75 ! Last time step used for harmonic analysis 858 858 nstep_han = 15 ! Time step frequency for harmonic analysis 859 nb_ana = 2 ! Number of harmonics to analyse860 859 tname(1) = 'M2' ! Name of tidal constituents 861 860 tname(2) = 'K1' -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist
r3220 r3247 852 852 nitend_han = 75 ! Last time step used for harmonic analysis 853 853 nstep_han = 15 ! Time step frequency for harmonic analysis 854 nb_ana = 2 ! Number of harmonics to analyse855 854 tname(1) = 'M2' ! Name of tidal constituents 856 855 tname(2) = 'K1' -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90
r3186 r3247 25 25 PRIVATE 26 26 27 LOGICAL, PUBLIC, PARAMETER :: 27 LOGICAL, PUBLIC, PARAMETER :: lk_diaharm = .TRUE. 28 28 29 INTEGER, PARAMETER :: nb_harmo_max = 9 30 INTEGER, PARAMETER :: jpincomax = 18 29 INTEGER, PARAMETER :: jpincomax = 2.*jpmax_harmo 31 30 INTEGER, PARAMETER :: jpdimsparse = jpincomax*300*24 32 31 … … 34 33 nit000_han = 1, & ! First time step used for harmonic analysis 35 34 nitend_han = 1, & ! Last time step used for harmonic analysis 36 nstep_han = 1 35 nstep_han = 1, & ! Time step frequency for harmonic analysis 37 36 nb_ana ! Number of harmonics to analyse 38 37 … … 44 43 out_v 45 44 45 INTEGER :: ninco, nsparse 46 46 INTEGER , DIMENSION(jpdimsparse) :: njsparse, nisparse 47 47 INTEGER , SAVE, DIMENSION(jpincomax) :: ipos1 … … 51 51 REAL(wp), SAVE, DIMENSION(jpincomax) :: zpivot 52 52 53 CHARACTER (LEN=4), DIMENSION( nb_harmo_max) :: &53 CHARACTER (LEN=4), DIMENSION(jpmax_harmo) :: & 54 54 tname ! Names of tidal constituents ('M2', 'K1',...) 55 55 … … 78 78 !! * Local declarations 79 79 INTEGER :: jh, nhan, jk, ji 80 NAMELIST/nam_diaharm/ nit000_han, nitend_han, nstep_han, nb_ana, tname 81 82 !!---------------------------------------------------------------------- 83 84 ! Read namelist parameters: 85 ! ------------------------- 80 81 NAMELIST/nam_diaharm/ nit000_han, nitend_han, nstep_han, tname 82 !!---------------------------------------------------------------------- 83 84 IF(lwp) THEN 85 WRITE(numout,*) 86 WRITE(numout,*) 'dia_harm_init: Tidal harmonic analysis initialization' 87 WRITE(numout,*) '~~~~~~~ ' 88 ENDIF 89 ! 90 CALL tide_init_Wave 91 ! 92 tname(:)='' 93 ! 94 ! Read Namelist nam_diaharm 86 95 REWIND ( numnam ) 87 96 READ ( numnam, nam_diaharm ) 88 89 IF(lwp) WRITE(numout,*) 90 IF(lwp) WRITE(numout,*) 'dia_harm_init: Tidal harmonic analysis initialization' 91 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 92 93 IF(lwp) WRITE(numout,*) 'First time step used for analysis: nit000_han= ', nit000_han 94 IF(lwp) WRITE(numout,*) 'Last time step used for analysis: nitend_han= ', nitend_han 95 IF(lwp) WRITE(numout,*) 'Time step frequency for harmonic analysis: nstep_han= ', nstep_han 96 97 IF (nb_ana > nb_harmo_max) THEN 98 IF(lwp) WRITE(numout,*) ' E R R O R : dia_harm_init. & 99 & nb_ana must be lower than nb_harmo_max, stop' 100 IF(lwp) WRITE(numout,*) 'nb_harmo_max= ', nb_harmo_max 101 nstop = nstop + 1 97 ! 98 IF(lwp) THEN 99 WRITE(numout,*) 'First time step used for analysis: nit000_han= ', nit000_han 100 WRITE(numout,*) 'Last time step used for analysis: nitend_han= ', nitend_han 101 WRITE(numout,*) 'Time step frequency for harmonic analysis: nstep_han= ', nstep_han 102 102 ENDIF 103 103 … … 105 105 ! ---------------------------------------------- 106 106 IF (nit000 > nit000_han) THEN 107 IF(lwp) WRITE(numout,*) ' E R R O R : dia_harm_init. & 108 & nit000_han must be greater than nit000, stop' 109 IF(lwp) WRITE(numout,*) 'restart capability not implemented' 107 IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : nit000_han must be greater than nit000, stop' 108 IF(lwp) WRITE(numout,*) ' restart capability not implemented' 110 109 nstop = nstop + 1 111 110 ENDIF 112 111 IF (nitend < nitend_han) THEN 113 IF(lwp) WRITE(numout,*) ' E R R O R : dia_harm_init. & 114 & nitend_han must be lower than nitend, stop' 115 IF(lwp) WRITE(numout,*) 'restart capability not implemented' 112 IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : nitend_han must be lower than nitend, stop' 113 IF(lwp) WRITE(numout,*) ' restart capability not implemented' 116 114 nstop = nstop + 1 117 115 ENDIF 118 116 119 117 IF (MOD(nitend_han-nit000_han+1,nstep_han).NE.0) THEN 120 IF(lwp) WRITE(numout,*) ' E R R O R : dia_harm_init. & 121 & analysis time span must be a multiple of nstep_han, stop' 118 IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : analysis time span must be a multiple of nstep_han, stop' 122 119 nstop = nstop + 1 123 120 END IF 124 121 125 CALL tide_init_Wave 122 nb_ana=0 123 DO jk=1,jpmax_harmo 124 DO ji=1,jpmax_harmo 125 IF(TRIM(tname(jk)) == Wave(ji)%cname_tide) THEN 126 nb_ana=nb_ana+1 127 ENDIF 128 END DO 129 ENDDO 130 ! 131 IF(lwp) THEN 132 WRITE(numout,*) ' Namelist nam_diaharm' 133 WRITE(numout,*) ' nb_ana = ', nb_ana 134 CALL flush(numout) 135 ENDIF 136 ! 137 IF (nb_ana > jpmax_harmo) THEN 138 IF(lwp) WRITE(numout,*) ' E R R O R dia_harm_init : nb_ana must be lower than jpmax_harmo, stop' 139 IF(lwp) WRITE(numout,*) ' jpmax_harmo= ', jpmax_harmo 140 nstop = nstop + 1 141 ENDIF 126 142 127 143 ALLOCATE(name (nb_ana)) … … 183 199 (MOD(kt,nstep_han).EQ.0) ) THEN 184 200 185 ztime = kt*rdt201 ztime = (kt-nit000+1)*rdt 186 202 187 203 nhc = 0 … … 239 255 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ana_amp 240 256 !!-------------------------------------------------------------------- 241 CALL wrk_alloc( jpi , jpj , nb_harmo_max, 2 , ana_amp )257 CALL wrk_alloc( jpi , jpj , jpmax_harmo , 2 , ana_amp ) 242 258 243 259 IF(lwp) WRITE(numout,*) … … 280 296 DO jc = 1,2 281 297 kun = kun + 1 282 tmp4(kun)=ana_temp(ji,jj,kun,1)298 ztmp4(kun)=ana_temp(ji,jj,kun,1) 283 299 ENDDO 284 300 ENDDO … … 288 304 ! Fill output array 289 305 DO jh = 1, nb_ana 290 ana_amp(ji,jj,jh,1)= tmp7((jh-1)*2+1)291 ana_amp(ji,jj,jh,2)= tmp7((jh-1)*2+2)306 ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1) 307 ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2) 292 308 END DO 293 309 END DO … … 317 333 DO jc = 1,2 318 334 kun = kun + 1 319 tmp4(kun)=ana_temp(ji,jj,kun,2)335 ztmp4(kun)=ana_temp(ji,jj,kun,2) 320 336 ENDDO 321 337 ENDDO … … 325 341 ! Fill output array 326 342 DO jh = 1, nb_ana 327 ana_amp(ji,jj,jh,1)= tmp7((jh-1)*2+1)328 ana_amp(ji,jj,jh,2)= tmp7((jh-1)*2+2)343 ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1) 344 ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2) 329 345 END DO 330 346 … … 351 367 DO jc = 1,2 352 368 kun = kun + 1 353 tmp4(kun)=ana_temp(ji,jj,kun,3)369 ztmp4(kun)=ana_temp(ji,jj,kun,3) 354 370 ENDDO 355 371 ENDDO … … 359 375 ! Fill output array 360 376 DO jh = 1, nb_ana 361 ana_amp(ji,jj,jh,1)= tmp7((jh-1)*2+1)362 ana_amp(ji,jj,jh,2)= tmp7((jh-1)*2+2)377 ana_amp(ji,jj,jh,1)=ztmp7((jh-1)*2+1) 378 ana_amp(ji,jj,jh,2)=ztmp7((jh-1)*2+2) 363 379 END DO 364 380 … … 378 394 379 395 CALL dia_wri_harm ! Write results in files 380 381 CALL wrk_dealloc( jpi , jpj , nb_harmo_max , 2 , ana_amp )382 END SUBROUTINE dia_harm_end383 384 SUBROUTINE dia_wri_harm396 CALL wrk_dealloc( jpi , jpj , jpmax_harmo , 2 , ana_amp ) 397 ! 398 END SUBROUTINE dia_harm_end 399 400 SUBROUTINE dia_wri_harm 385 401 !!-------------------------------------------------------------------- 386 402 !! *** ROUTINE dia_wri_harm *** … … 397 413 CHARACTER(LEN=lc) :: cltext 398 414 CHARACTER(LEN=lc) :: & 399 cdfile_name_T 400 cdfile_name_U 401 cdfile_name_V 402 INTEGER :: jh 415 cdfile_name_T , & ! name of the file created (T-points) 416 cdfile_name_U , & ! name of the file created (U-points) 417 cdfile_name_V ! name of the file created (V-points) 418 INTEGER :: jh 403 419 !!---------------------------------------------------------------------- 404 420 … … 410 426 411 427 IF(lwp) WRITE(numout,*) ' ' 412 IF(lwp) WRITE(numout,*) 'dia_wri_harm : Write harmonic analysis results' 428 IF(lwp) WRITE(numout,*) 'dia_wri_harm : Write harmonic analysis results' 413 429 #if defined key_dimgout 414 430 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~ Output files: ', TRIM(cdfile_name_T) … … 457 473 #endif 458 474 459 END SUBROUTINE dia_wri_harm475 END SUBROUTINE dia_wri_harm 460 476 461 477 SUBROUTINE SUR_DETERMINE(init)
Note: See TracChangeset
for help on using the changeset viewer.