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 10970 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/FLO/flodom.F90 – NEMO

Ignore:
Timestamp:
2019-05-13T14:02:19+02:00 (5 years ago)
Author:
davestorkey
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : CRS and FLO. Only tested compilation. Note that base code doesn't compile with key_floats (#2279), so changes to FLO not really tested at all.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/FLO/flodom.F90

    r10425 r10970  
    4444CONTAINS 
    4545 
    46    SUBROUTINE flo_dom 
     46   SUBROUTINE flo_dom( Kmm ) 
    4747      !! --------------------------------------------------------------------- 
    4848      !!                  ***  ROUTINE flo_dom  *** 
     
    5353      !!               the longitude (degree) and the depth (m). 
    5454      !!----------------------------------------------------------------------       
     55      INTEGER, INTENT(in) ::  Kmm    ! ocean time level index 
     56      ! 
    5557      INTEGER            ::   jfl    ! dummy loop   
    5658      INTEGER            ::   inum   ! logical unit for file read 
     
    9496                CALL flo_add_new_ariane_floats(jpnrstflo+1,jpnfl)  
    9597            ELSE                 !Add new floats with long/lat convention 
    96                 CALL flo_add_new_floats(jpnrstflo+1,jpnfl) 
     98                CALL flo_add_new_floats(Kmm,jpnrstflo+1,jpnfl) 
    9799            ENDIF 
    98100         ENDIF 
     
    106108            CALL flo_add_new_ariane_floats(1,jpnfl) 
    107109         ELSE                      !Add new floats with long/lat convention 
    108             CALL flo_add_new_floats(1,jpnfl) 
     110            CALL flo_add_new_floats(Kmm,1,jpnfl) 
    109111         ENDIF 
    110112 
     
    113115   END SUBROUTINE flo_dom 
    114116 
    115    SUBROUTINE flo_add_new_floats(kfl_start, kfl_end) 
     117   SUBROUTINE flo_add_new_floats(Kmm, kfl_start, kfl_end) 
    116118      !! ------------------------------------------------------------- 
    117119      !!                 ***  SUBROUTINE add_new_arianefloats  *** 
     
    128130      !! ** Method  :  
    129131      !!---------------------------------------------------------------------- 
     132      INTEGER, INTENT(in) :: Kmm 
    130133      INTEGER, INTENT(in) :: kfl_start, kfl_end 
    131134      !! 
     
    174177                  ihtest(jfl) = ihtest(jfl)+1 
    175178                  DO jk = 1, jpk-1 
    176                      IF( (gdepw_n(ji,jj,jk) <= flzz(jfl)) .AND. (gdepw_n(ji,jj,jk+1) > flzz(jfl)) ) THEN 
     179                     IF( (gdepw(ji,jj,jk,Kmm) <= flzz(jfl)) .AND. (gdepw(ji,jj,jk+1,Kmm) > flzz(jfl)) ) THEN 
    177180                        ikmfl(jfl) = jk 
    178181                        ivtest(jfl) = ivtest(jfl) + 1 
     
    236239            zgifl(jfl)= (iimfl(jfl)-0.5) + zdxab/e1u(iimfl(jfl)-1,ijmfl(jfl)) + (mig(1)-1) 
    237240            zgjfl(jfl)= (ijmfl(jfl)-0.5) + zdyad/e2v(iimfl(jfl),ijmfl(jfl)-1) + (mjg(1)-1) 
    238             zgkfl(jfl) = (( gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1) - flzz(jfl) )* ikmfl(jfl))   & 
    239                &                 / (  gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1)                              & 
    240                &                    - gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl) ) )                             & 
    241                &                 + (( flzz(jfl)-gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)) ) *(ikmfl(jfl)+1))   & 
    242                &                 / (  gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1)                              & 
    243                &                    - gdepw_n(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)) ) 
     241            zgkfl(jfl) = (( gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1,Kmm) - flzz(jfl) )* ikmfl(jfl))   & 
     242               &                 / (  gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1,Kmm)                              & 
     243               &                    - gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl) ,Kmm) )                             & 
     244               &                 + (( flzz(jfl)-gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl),Kmm) ) *(ikmfl(jfl)+1))   & 
     245               &                 / (  gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl)+1,Kmm)                              & 
     246               &                    - gdepw(iimfl(jfl),ijmfl(jfl),ikmfl(jfl),Kmm) ) 
    244247         ELSE 
    245248            zgifl(jfl) = 0.e0 
Note: See TracChangeset for help on using the changeset viewer.