Changeset 4794


Ignore:
Timestamp:
2014-09-29T15:58:28+02:00 (6 years ago)
Author:
rfurner
Message:

commited changes to run as 1 vertical level, added simple hpg option for basic surge set up

Location:
branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r4624 r4794  
    388388      ENDIF 
    389389 
     390#if defined key_surge 
     391      ! Surface value 
     392      DO jj = 2, jpjm1 
     393         DO ji = fs_2, fs_jpim1   ! vector opt. 
     394            ! hydrostatic pressure gradient along s-surfaces 
     395            zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj  ,1) * ( znad )   & 
     396               &                                  - fse3w(ji  ,jj  ,1) * ( znad ) ) 
     397            zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( fse3w(ji  ,jj+1,1) * ( znad )   & 
     398               &                                  - fse3w(ji  ,jj  ,1) * ( znad ) ) 
     399            ! s-coordinate pressure gradient correction 
     400            zuap = -zcoef0 * ( 2._wp * znad )   & 
     401               &           * ( fsde3w(ji+1,jj,1) - fsde3w(ji,jj,1) ) / e1u(ji,jj) 
     402            zvap = -zcoef0 * ( 2._wp * znad )   & 
     403               &           * ( fsde3w(ji,jj+1,1) - fsde3w(ji,jj,1) ) / e2v(ji,jj) 
     404            ! add to the general momentum trend 
     405            ua(ji,jj,1) = ua(ji,jj,1) + zhpi(ji,jj,1) + zuap 
     406            va(ji,jj,1) = va(ji,jj,1) + zhpj(ji,jj,1) + zvap 
     407         END DO 
     408      END DO 
     409 
     410      ! interior value (2=<jk=<jpkm1) 
     411      DO jk = 2, jpkm1 
     412         DO jj = 2, jpjm1 
     413            DO ji = fs_2, fs_jpim1   ! vector opt. 
     414               ! hydrostatic pressure gradient along s-surfaces 
     415               zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj)   & 
     416                  &           * (  fse3w(ji+1,jj,jk) * ( 2*znad )   & 
     417                  &              - fse3w(ji  ,jj,jk) * ( 2*znad )  ) 
     418               zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj)   & 
     419                  &           * (  fse3w(ji,jj+1,jk) * ( 2*znad )   & 
     420                  &              - fse3w(ji,jj  ,jk) * ( 2*znad )  ) 
     421               ! s-coordinate pressure gradient correction 
     422               zuap = -zcoef0 * ( 2._wp * znad )   & 
     423                  &           * ( fsde3w(ji+1,jj  ,jk) - fsde3w(ji,jj,jk) ) / e1u(ji,jj) 
     424               zvap = -zcoef0 * ( 2._wp * znad )   & 
     425                  &           * ( fsde3w(ji  ,jj+1,jk) - fsde3w(ji,jj,jk) ) / e2v(ji,jj) 
     426               ! add to the general momentum trend 
     427               ua(ji,jj,jk) = ua(ji,jj,jk) + zhpi(ji,jj,jk) + zuap 
     428               va(ji,jj,jk) = va(ji,jj,jk) + zhpj(ji,jj,jk) + zvap 
     429            END DO 
     430         END DO 
     431      END DO 
     432      ! 
     433#else 
    390434      ! Surface value 
    391435      DO jj = 2, jpjm1 
     
    429473         END DO 
    430474      END DO 
     475#endif 
    431476      ! 
    432477      CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj ) 
  • branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r4708 r4794  
    442442                            CALL dyn_ldf_init   ! lateral mixing 
    443443                            CALL dyn_hpg_init   ! horizontal gradient of Hydrostatic pressure 
     444#if ! defined key_surge 
    444445                            CALL dyn_zdf_init   ! vertical diffusion 
     446#endif 
    445447                            CALL dyn_spg_init   ! surface pressure gradient 
    446448 
  • branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/step.F90

    r4742 r4794  
    187187          IF(.NOT. Agrif_Root())  CALL Agrif_Sponge_dyn        ! momentum sponge 
    188188#endif 
    189 !                                  CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure 
     189                                  CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure 
    190190                                  CALL dyn_spg( kstp, indic )  ! surface pressure gradient 
    191191 
     
    292292        IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_dyn        ! momemtum sponge 
    293293#endif 
    294 !                               CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure 
     294                               CALL dyn_hpg( kstp )         ! horizontal gradient of Hydrostatic pressure 
    295295                               CALL dyn_bfr( kstp )         ! bottom friction 
    296296#if ! defined key_surge 
Note: See TracChangeset for help on using the changeset viewer.