Changeset 7747


Ignore:
Timestamp:
2017-03-01T15:10:15+01:00 (4 years ago)
Author:
timgraham
Message:

GMED ticket 310. Modify diaptr to do integral from bottom to top of ocean

Location:
branches/UKMO/dev_r5518_GO6_package/NEMOGCM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/CONFIG/SHARED/field_def.xml

    r7742 r7747  
    688688        <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"       grid_ref="gznl_W_3D" /> 
    689689        <field id="zomsfipc"          long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"       grid_ref="gznl_W_3D" /> 
     690        <field id="zomsfeivglo"       long_name="Meridional Stream-Function: Global"           unit="Sv"       grid_ref="gznl_W_3D" /> 
     691        <field id="zomsfeivatl"       long_name="Meridional Stream-Function: Atlantic"         unit="Sv"       grid_ref="gznl_W_3D" /> 
     692        <field id="zomsfeivpac"       long_name="Meridional Stream-Function: Pacific"          unit="Sv"       grid_ref="gznl_W_3D" /> 
     693        <field id="zomsfeivind"       long_name="Meridional Stream-Function: Indian"           unit="Sv"       grid_ref="gznl_W_3D" /> 
     694        <field id="zomsfeivipc"       long_name="Meridional Stream-Function: Pacific+Indian"   unit="Sv"       grid_ref="gznl_W_3D" /> 
    690695        <field id="zotemglo"          long_name="Zonal Mean Temperature : Global"              unit="degree_C"     grid_ref="gznl_T_3D" /> 
    691696        <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degree_C"     grid_ref="gznl_T_3D" /> 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r7179 r7747  
    102102 
    103103      ! 
     104      z3d(:,:,:) = 0._wp 
    104105      IF( PRESENT( pvtr ) ) THEN 
    105106         IF( iom_use("zomsfglo") ) THEN    ! effective MSF 
    106107            z3d(1,:,:) = ptr_sjk( pvtr(:,:,:) )  ! zonal cumulative effective transport 
    107             DO jk = 2, jpkm1  
    108               z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     108            DO jk = jpkm1,1,-1                   !Integrate from bottom up to get 
     109              z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
    109110            END DO 
    110111            DO ji = 1, jpi 
     
    114115            CALL iom_put( cl1, z3d * rc_sv ) 
    115116            DO jn = 2, nptr                                    ! by sub-basins 
    116                z3d(1,:,:) =  ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn)*btm30(:,:) )  
    117                DO jk = 2, jpkm1  
    118                   z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
     117               z3d(1,:,:) =  ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn) )  
     118               DO jk = jpkm1,1,-1 
     119                  z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
    119120               END DO 
    120121               DO ji = 1, jpi 
     
    406407               ENDIF 
    407408            ENDIF 
     409            IF( iom_use("zomsfeivglo") ) THEN 
     410               z3d(1,:,:) = ptr_sjk( v_eiv(:,:,:) )  ! zonal cumulative effective transport 
     411               DO jk = jpkm1,1,-1 
     412                 z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     413               END DO 
     414               DO ji = 1, jpi 
     415                  z3d(ji,:,:) = z3d(1,:,:) 
     416               ENDDO 
     417               cl1 = TRIM('zomsfeiv'//clsubb(1) ) 
     418               CALL iom_put( cl1, z3d * rc_sv ) 
     419               IF( ln_subbas ) THEN 
     420                  DO jn = 2, nptr                                    ! by sub-basins 
     421                     z3d(1,:,:) =  ptr_sjk( v_eiv(:,:,:), btmsk(:,:,jn) )  
     422                     DO jk = jpkm1,1,-1 
     423                        z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
     424                     END DO 
     425                     DO ji = 1, jpi 
     426                        z3d(ji,:,:) = z3d(1,:,:) 
     427                     ENDDO 
     428                     cl1 = TRIM('zomsfeiv'//clsubb(jn) ) 
     429                     CALL iom_put( cl1, z3d * rc_sv ) 
     430                  END DO 
     431               ENDIF 
     432            ENDIF 
    408433         ENDIF 
    409434#endif 
Note: See TracChangeset for help on using the changeset viewer.