New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 15575 for NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate – NEMO

Ignore:
Timestamp:
2021-12-06T10:50:40+01:00 (2 years ago)
Author:
hadjt
Message:

Improved version of Diaharm_fast, for testing. using sec2start based on adatrj (* 86400._wp)

to be tested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diaharm_fast.F90

    r15547 r15575  
    8383   LOGICAL, PUBLIC :: ln_diaharm_fast 
    8484 
     85 
    8586   !JT 
    8687   LOGICAL, PUBLIC :: ln_ana_ssh, ln_ana_uvbar, ln_ana_bfric, ln_ana_rho, ln_ana_uv3d, ln_ana_w3d 
     
    161162      ENDIF 
    162163 
    163          
    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  
    193164     IF ( ln_diaharm_fast .and. ln_diaharm_store .and. ( lk_diaharm_2D .or. lk_diaharm_3D) ) THEN 
    194165 
     
    200171          sec2start = nsec_day - NINT(0.5_wp * rdt) 
    201172 
    202  
    203  
     173          sec2start = adatrj * 86400._wp 
     174 
     175           
     176          IF(lwp) WRITE(numout,*) 'diaharm_fast: sec2start = ',nint( (fjulday-fjulday_startharm)*86400._wp ),nsec_day - NINT(0.5_wp * rdt),adatrj * 86400._wp 
    204177 
    205178          IF( iom_use('tide_t') ) CALL iom_put( 'tide_t', sec2start ) 
     
    213186             c(2*jh  ) = anaf(jh)*cos( sec2start*om_tide(jh) + anau(jh) + anav(jh) ) 
    214187             c(2*jh+1) = anaf(jh)*sin( sec2start*om_tide(jh) + anau(jh) + anav(jh) ) 
     188 
     189             c(2*jh  ) = anaf(jh)*cos( sec2start*om_tide(jh) + anau(jh) ) 
     190             c(2*jh+1) = anaf(jh)*sin( sec2start*om_tide(jh) + anau(jh) ) 
     191 
     192 
    215193              
    216              IF(lwp) WRITE(numout,*) 'diaharm_fast: analwave,',kt,tname(jh),sec2start,sec2start/3600.,sec2start_old,sec2start_old/3600,c(2*jh),c(2*jh+1),om_tide(jh),anau(jh),anav(jh) 
     194             !IF(lwp) WRITE(numout,*) 'diaharm_fast: analwave,',kt,tname(jh),sec2start,sec2start/3600.,sec2start_old,sec2start_old/3600,c(2*jh),c(2*jh+1),om_tide(jh),anau(jh),anav(jh) 
    217195          ENDDO  
    218196 
     
    764742!      REAL(wp) :: zsto1, zsto2, zout, zmax, zjulian, zdt, zmdi  ! temporary scalars 
    765743 
     744 
    766745      do jgrid=1,nvar_2d 
    767746          do jh=1,nb_ana 
     
    782761                   ENDIF 
    783762                   IF (g_out2D(ji,jj).ne.0) THEN  !Correct and take modulus 
    784                        g_out2D(ji,jj) = g_out2D(ji,jj) + MOD( (anau(jh)+anav(jh))/rad , 360.0) 
     763                       !JT  
     764                       !JT  g_out2D(ji,jj) = g_out2D(ji,jj) + MOD( (anau(jh)+anav(jh))/rad , 360.0) 
     765                       !JT  
     766                       g_out2D(ji,jj) = g_out2D(ji,jj) + MOD( (anau(jh))/rad , 360.0) 
    785767                       if (g_out2D(ji,jj).gt.360.0) then 
    786768                           g_out2D(ji,jj)=g_out2D(ji,jj)-360.0 
     
    799781             IF( iom_use(TRIM(tmp_name)) )  THEN 
    800782                IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name),'; shape = ', SHAPE(h_out2D) 
    801                 IF(lwp) WRITE(numout,*) "harm_ana_out_names", tmp_name,tname(jh),' ',om_tide(jh), (2*rpi/3600.)/om_tide(jh),"hr" 
     783                IF(lwp) WRITE(numout,*) "harm_ana_out names", tmp_name,tname(jh),' ',om_tide(jh), (2*rpi/3600.)/om_tide(jh),"hr" 
    802784                CALL iom_put( TRIM(tmp_name), h_out2D(:,:) ) 
    803785             ELSE 
     
    812794                IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 
    813795             ENDIF 
     796 
     797 
     798 
     799             CALL FLUSH(numout) 
     800 
    814801 
    815802          enddo 
     
    823810            IF(lwp) WRITE(numout,*) "harm_ana_out: not requested: ",TRIM(tmp_name) 
    824811         ENDIF 
     812 
     813         CALL FLUSH(numout) 
    825814 
    826815      enddo 
     
    847836                      ENDIF 
    848837                      IF (g_out3D(ji,jj,jk).ne.0) THEN  !Correct and take modulus 
    849                           g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk) + MOD( (anau(jh)+anav(jh))/rad , 360.0) 
     838                          !JT                         
     839                          !JT g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk) + MOD( (anau(jh)+anav(jh))/rad , 360.0) 
     840                          !JT  
     841                          g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk) + MOD( (anau(jh))/rad , 360.0) 
    850842                          if      (g_out3D(ji,jj,jk).gt.360.0) then 
    851843                                   g_out3D(ji,jj,jk) = g_out3D(ji,jj,jk)-360.0 
     
    891883      enddo                 ! jgrid 
    892884 
     885     CALL FLUSH(numout) 
    893886 
    894887 
     
    908901 
    909902 
    910  
    911 ! 
    912903   END SUBROUTINE harm_ana_out 
    913904! 
Note: See TracChangeset for help on using the changeset viewer.