Skip to content

Commit

Permalink
Merge branch 'nicjhan-189-H_to_m' into dev/master
Browse files Browse the repository at this point in the history
  • Loading branch information
adcroft committed Jul 28, 2015
2 parents 2e51382 + 6289604 commit b10de2d
Show file tree
Hide file tree
Showing 20 changed files with 198 additions and 155 deletions.
6 changes: 5 additions & 1 deletion config_src/solo_driver/MOM_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ program MOM_main
use MOM_error_handler, only : callTree_enter, callTree_leave, callTree_waypoint
use MOM_file_parser, only : read_param, get_param, log_param, log_version, param_file_type
use MOM_file_parser, only : close_param_file
use MOM_forcing_type, only : forcing, forcing_diagnostics, mech_forcing_diags
use MOM_forcing_type, only : forcing, forcing_diagnostics, mech_forcing_diags, MOM_forcing_chksum
use MOM_get_input, only : directories
use MOM_grid, only : ocean_grid_type
use MOM_io, only : file_exists, open_file, close_file
Expand Down Expand Up @@ -385,6 +385,10 @@ program MOM_main
! Set the forcing for the next steps.
call set_forcing(state, fluxes, Time, Time_step_ocean, grid, &
surface_forcing_CSp)
if (MOM_CSp%debug) then
call MOM_forcing_chksum("After set forcing", fluxes, grid, haloshift=0)
endif

if (use_ice_shelf) then
call shelf_calc_flux(state, fluxes, Time, time_step, ice_shelf_CSp)
!###IS call add_shelf_flux_forcing(fluxes, ice_shelf_CSp)
Expand Down
4 changes: 2 additions & 2 deletions src/ALE/MOM_ALE.F90
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ subroutine pressure_gradient_plm( CS, S_t, S_b, T_t, T_b, G, tv, h )
do j = G%jsc,G%jec+1
do i = G%isc,G%iec+1
! Build current grid
hTmp(:) = h(i,j,:)
hTmp(:) = h(i,j,:)*G%H_to_m
tmp(:) = tv%S(i,j,:)
! Reconstruct salinity profile
ppoly_linear_E = 0.0
Expand Down Expand Up @@ -412,7 +412,7 @@ subroutine pressure_gradient_ppm( CS, S_t, S_b, T_t, T_b, G, tv, h )
do i = G%isc,G%iec+1

! Build current grid
hTmp(:) = h(i,j,:)
hTmp(:) = h(i,j,:) * G%H_to_m
tmp(:) = tv%S(i,j,:)

! Reconstruct salinity profile
Expand Down
8 changes: 4 additions & 4 deletions src/ALE/MOM_regridding.F90
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ subroutine buildGridZstar( CS, G, h, dzInterface )
endif

! Local depth (G%bathyT is positive)
nominalDepth = G%bathyT(i,j)
nominalDepth = G%bathyT(i,j)*G%m_to_H

! Determine water column thickness
totalThickness = 0.0
Expand Down Expand Up @@ -519,7 +519,7 @@ subroutine buildGridSigma( CS, G, h, dzInterface )
end do

! The rest of the model defines grids integrating up from the bottom
nominalDepth = G%bathyT(i,j)
nominalDepth = G%bathyT(i,j)*G%m_to_H
zOld(nz+1) = - nominalDepth
zNew(nz+1) = - nominalDepth
do k = nz,1,-1
Expand Down Expand Up @@ -730,7 +730,7 @@ subroutine buildGridRho( G, h, tv, dzInterface, remapCS, CS )
end do ! end regridding iterations

! Local depth (G%bathyT is positive)
nominalDepth = G%bathyT(i,j)
nominalDepth = G%bathyT(i,j)*G%m_to_H

! The rest of the model defines grids integrating up from the bottom
totalThickness = 0.0
Expand Down Expand Up @@ -828,7 +828,7 @@ subroutine build_grid_arbitrary( G, h, dzInterface, h_new, CS )
do i = G%isc-1,G%iec+1

! Local depth
local_depth = G%bathyT(i,j)
local_depth = G%bathyT(i,j)*G%m_to_H

! Determine water column height
total_height = 0.0
Expand Down
31 changes: 17 additions & 14 deletions src/core/MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ module MOM
use MOM_error_handler, only : callTree_enter, callTree_leave, callTree_waypoint
use MOM_file_parser, only : read_param, get_param, log_version, param_file_type
use MOM_fixed_initialization, only : MOM_initialize_fixed
use MOM_forcing_type, only : MOM_forcing_chksum
use MOM_get_input, only : Get_MOM_Input, directories
use MOM_io, only : MOM_io_init, vardesc
use MOM_obsolete_params, only : find_obsolete_params
Expand Down Expand Up @@ -850,6 +851,7 @@ subroutine step_MOM(fluxes, state, Time_start, time_interval, CS)

if (CS%debug) then
call MOM_state_chksum("Before steps ", u, v, h, CS%uh, CS%vh, G)
call MOM_forcing_chksum("Before steps", fluxes, G, haloshift=0)
call check_redundant("Before steps ", u, v, G)
endif

Expand Down Expand Up @@ -1172,9 +1174,9 @@ subroutine step_MOM(fluxes, state, Time_start, time_interval, CS)
if (CS%debug) then
call uchksum(u,"Pre-advection u", G, haloshift=2)
call vchksum(v,"Pre-advection v", G, haloshift=2)
call hchksum(h,"Pre-advection h", G, haloshift=1)
call uchksum(CS%uhtr,"Pre-advection uhtr", G, haloshift=0)
call vchksum(CS%vhtr,"Pre-advection vhtr", G, haloshift=0)
call hchksum(h*G%H_to_m,"Pre-advection h", G, haloshift=1)
call uchksum(CS%uhtr*G%H_to_m,"Pre-advection uhtr", G, haloshift=0)
call vchksum(CS%vhtr*G%H_to_m,"Pre-advection vhtr", G, haloshift=0)
! call MOM_state_chksum("Pre-advection ", u, v, &
! h, CS%uhtr, CS%vhtr, G, haloshift=1)
if (associated(CS%tv%T)) call hchksum(CS%tv%T, "Pre-advection T", G, haloshift=1)
Expand Down Expand Up @@ -1224,12 +1226,13 @@ subroutine step_MOM(fluxes, state, Time_start, time_interval, CS)
if (CS%debug) then
call uchksum(u,"Pre-diabatic u", G, haloshift=2)
call vchksum(v,"Pre-diabatic v", G, haloshift=2)
call hchksum(h,"Pre-diabatic h", G, haloshift=1)
call uchksum(CS%uhtr,"Pre-diabatic uh", G, haloshift=0)
call vchksum(CS%vhtr,"Pre-diabatic vh", G, haloshift=0)
call hchksum(h*G%H_to_m,"Pre-diabatic h", G, haloshift=1)
call uchksum(CS%uhtr*G%H_to_m,"Pre-diabatic uh", G, haloshift=0)
call vchksum(CS%vhtr*G%H_to_m,"Pre-diabatic vh", G, haloshift=0)
! call MOM_state_chksum("Pre-diabatic ",u, v, h, CS%uhtr, CS%vhtr, G)
call MOM_thermo_chksum("Pre-diabatic ", CS%tv, G,haloshift=0)
call check_redundant("Pre-diabatic ", u, v, G)
call MOM_forcing_chksum("Pre-diabatic", fluxes, G, haloshift=0)
endif

if (CS%split .and. CS%legacy_split) then ! The dt here is correct. -RWH
Expand Down Expand Up @@ -1271,9 +1274,9 @@ subroutine step_MOM(fluxes, state, Time_start, time_interval, CS)
if (CS%debug) then
call uchksum(u,"Post-diabatic u", G, haloshift=2)
call vchksum(v,"Post-diabatic v", G, haloshift=2)
call hchksum(h,"Post-diabatic h", G, haloshift=1)
call uchksum(CS%uhtr,"Post-diabatic uh", G, haloshift=0)
call vchksum(CS%vhtr,"Post-diabatic vh", G, haloshift=0)
call hchksum(h*G%H_to_m,"Post-diabatic h", G, haloshift=1)
call uchksum(CS%uhtr*G%H_to_m,"Post-diabatic uh", G, haloshift=0)
call vchksum(CS%vhtr*G%H_to_m,"Post-diabatic vh", G, haloshift=0)
! call MOM_state_chksum("Post-diabatic ", u, v, &
! h, CS%uhtr, CS%vhtr, G, haloshift=1)
if (associated(CS%tv%T)) call hchksum(CS%tv%T, "Post-diabatic T", G, haloshift=1)
Expand Down Expand Up @@ -1985,7 +1988,7 @@ subroutine initialize_MOM(Time, param_file, dirs, CS, Time_in)
if (CS%debug) then
call uchksum(CS%u,"Pre initialize_ALE u", G, haloshift=1)
call vchksum(CS%v,"Pre initialize_ALE v", G, haloshift=1)
call hchksum(CS%h,"Pre initialize_ALE h", G, haloshift=1)
call hchksum(CS%h*G%H_to_m,"Pre initialize_ALE h", G, haloshift=1)
endif
if (.not. query_initialized(CS%h,"h",CS%restart_CSp)) then
! This is a not a restart so we do the following...
Expand All @@ -1996,7 +1999,7 @@ subroutine initialize_MOM(Time, param_file, dirs, CS, Time_in)
if (CS%debug) then
call uchksum(CS%u,"Post initialize_ALE u", G, haloshift=1)
call vchksum(CS%v,"Post initialize_ALE v", G, haloshift=1)
call hchksum(CS%h, "Post initialize_ALE h", G, haloshift=1)
call hchksum(CS%h*G%H_to_m, "Post initialize_ALE h", G, haloshift=1)
endif
endif

Expand Down Expand Up @@ -2649,8 +2652,8 @@ subroutine calculate_surface_state(state, u, v, h, ssh, G, CS, p_atm)
enddo

do k=1,nz ; do i=is,ie
if (depth(i) + h(i,j,k) < depth_ml) then
dh = h(i,j,k)
if (depth(i) + h(i,j,k)*G%H_to_m < depth_ml) then
dh = h(i,j,k)*G%H_to_m
elseif (depth(i) < depth_ml) then
dh = depth_ml - depth(i)
else
Expand All @@ -2666,7 +2669,7 @@ subroutine calculate_surface_state(state, u, v, h, ssh, G, CS, p_atm)
enddo ; enddo
! Calculate the average properties of the mixed layer depth.
do i=is,ie
if (depth(i) < G%H_subroundoff) depth(i) = G%H_subroundoff
if (depth(i) < G%H_subroundoff*G%H_to_m) depth(i) = G%H_subroundoff*G%H_to_m
if (CS%use_temperature) then
state%SST(i,j) = state%SST(i,j) / depth(i)
state%SSS(i,j) = state%SSS(i,j) / depth(i)
Expand Down
27 changes: 14 additions & 13 deletions src/core/MOM_PressureForce_Montgomery.F90
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ module MOM_PressureForce_Mont
use MOM_variables, only : thermo_var_ptrs
use MOM_EOS, only : calculate_density, calculate_density_derivs
use MOM_EOS, only : int_specific_vol_dp, query_compressible

implicit none ; private

#include <MOM_memory.h>
Expand Down Expand Up @@ -515,7 +516,7 @@ subroutine PressureForce_Mont_Bouss(h, tv, PFu, PFv, G, CS, p_atm, pbce, eta)
do j=Jsq,Jeq+1
do i=Isq,Ieq+1 ; e(i,j,1) = -1.0*G%bathyT(i,j) ; enddo
do k=1,nz ; do i=Isq,Ieq+1
e(i,j,1) = e(i,j,1) + h(i,j,k)
e(i,j,1) = e(i,j,1) + h(i,j,k)*G%H_to_m
enddo ; enddo
enddo
call calc_tidal_forcing(CS%Time, e(:,:,1), e_tidal, G, CS%tides_CSp)
Expand All @@ -536,7 +537,7 @@ subroutine PressureForce_Mont_Bouss(h, tv, PFu, PFv, G, CS, p_atm, pbce, eta)
endif
!$OMP do
do j=Jsq,Jeq+1 ; do k=nz,1,-1 ; do i=Isq,Ieq+1
e(i,j,K) = e(i,j,K+1) + h(i,j,k)
e(i,j,K) = e(i,j,K+1) + h(i,j,k)*G%H_to_m
enddo ; enddo ; enddo
!$OMP end parallel
if (use_EOS) then
Expand Down Expand Up @@ -661,12 +662,12 @@ subroutine PressureForce_Mont_Bouss(h, tv, PFu, PFv, G, CS, p_atm, pbce, eta)
! about 200 lines above.
!$OMP parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,eta,e,e_tidal)
do j=Jsq,Jeq+1 ; do i=Isq,Ieq+1
eta(i,j) = e(i,j,1) + e_tidal(i,j)
eta(i,j) = e(i,j,1)*G%m_to_H + e_tidal(i,j)*G%m_to_H
enddo ; enddo
else
!$OMP parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,eta,e)
do j=Jsq,Jeq+1 ; do i=Isq,Ieq+1
eta(i,j) = e(i,j,1)
eta(i,j) = e(i,j,1)*G%m_to_H
enddo ; enddo
endif
endif
Expand All @@ -689,7 +690,7 @@ subroutine Set_pbce_Bouss(e, tv, G, g_Earth, Rho0, GFS_scale, pbce, rho_star)
real, dimension(NIMEM_,NJMEM_,NKMEM_), optional, intent(in) :: rho_star
! This subroutine determines the partial derivative of the acceleration due
! to pressure forces with the free surface height.
! Arguments: e - Interface height, in m.
! Arguments: e - Interface height, in H (m).
! (in) tv - A structure containing pointers to any available
! thermodynamic fields, including potential temperature and
! salinity or mixed layer density. Absent fields have NULL ptrs.
Expand All @@ -703,7 +704,7 @@ subroutine Set_pbce_Bouss(e, tv, G, g_Earth, Rho0, GFS_scale, pbce, rho_star)
! (in) CS - The control structure returned by a previous call to
! PressureForce_init.
! (out) pbce - the baroclinic pressure anomaly in each layer
! due to free surface height anomalies, in m s-2.
! due to free surface height anomalies, in m2 H-1 s-2.
! (in,opt) rho_star - The layer densities (maybe compressibility compensated),
! times g/rho_0, in m s-2.

Expand All @@ -728,16 +729,16 @@ subroutine Set_pbce_Bouss(e, tv, G, g_Earth, Rho0, GFS_scale, pbce, rho_star)
Rho0xG = Rho0*g_Earth
G_Rho0 = g_Earth/Rho0
use_EOS = associated(tv%eqn_of_state)
h_neglect = G%H_subroundoff * G%H_to_m
h_neglect = G%H_subroundoff*G%H_to_m

if (use_EOS) then
if (present(rho_star)) then
!$OMP parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,nz,e,h_neglect,pbce,rho_star,GFS_scale) &
!$OMP private(Ihtot)
do j=Jsq,Jeq+1
do i=Isq,Ieq+1
Ihtot(i) = 1.0 / ((e(i,j,1)-e(i,j,nz+1)) + h_neglect)
pbce(i,j,1) = GFS_scale * rho_star(i,j,1)
Ihtot(i) = 1.0 / (((e(i,j,1)-e(i,j,nz+1)) + h_neglect) * G%m_to_H)
pbce(i,j,1) = GFS_scale * rho_star(i,j,1) * G%H_to_m
enddo
do k=2,nz ; do i=Isq,Ieq+1
pbce(i,j,k) = pbce(i,j,k-1) + (rho_star(i,j,k)-rho_star(i,j,k-1)) * &
Expand All @@ -749,13 +750,13 @@ subroutine Set_pbce_Bouss(e, tv, G, g_Earth, Rho0, GFS_scale, pbce, rho_star)
!$OMP private(Ihtot,press,rho_in_situ,T_int,S_int,dR_dT,dR_dS)
do j=Jsq,Jeq+1
do i=Isq,Ieq+1
Ihtot(i) = 1.0 / ((e(i,j,1)-e(i,j,nz+1)) + h_neglect)
Ihtot(i) = 1.0 / (((e(i,j,1)-e(i,j,nz+1)) + h_neglect) * G%m_to_H)
press(i) = -Rho0xG*e(i,j,1)
enddo
call calculate_density(tv%T(:,j,1), tv%S(:,j,1), press, rho_in_situ, &
Isq, Ieq-Isq+2, tv%eqn_of_state)
do i=Isq,Ieq+1
pbce(i,j,1) = G_Rho0*(GFS_scale * rho_in_situ(i))
pbce(i,j,1) = G_Rho0*(GFS_scale * rho_in_situ(i)) * G%H_to_m
enddo
do k=2,nz
do i=Isq,Ieq+1
Expand All @@ -778,8 +779,8 @@ subroutine Set_pbce_Bouss(e, tv, G, g_Earth, Rho0, GFS_scale, pbce, rho_star)
!$OMP parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,nz,e,G,h_neglect,pbce) private(Ihtot)
do j=Jsq,Jeq+1
do i=Isq,Ieq+1
Ihtot(i) = 1.0 / ((e(i,j,1)-e(i,j,nz+1)) + h_neglect)
pbce(i,j,1) = G%g_prime(1)
Ihtot(i) = 1.0 / (((e(i,j,1)-e(i,j,nz+1)) + h_neglect) * G%m_to_H)
pbce(i,j,1) = G%g_prime(1) * G%H_to_m
enddo
do k=2,nz ; do i=Isq,Ieq+1
pbce(i,j,k) = pbce(i,j,k-1) + &
Expand Down
25 changes: 13 additions & 12 deletions src/core/MOM_PressureForce_analytic_FV.F90
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
! (in) p_atm - the pressure at the ice-ocean or atmosphere-ocean
! interface in Pa.
! (out) pbce - the baroclinic pressure anomaly in each layer
! due to free surface height anomalies, in m s-2.
! due to free surface height anomalies, in m2 H-1 s-2.
! (out) eta - the free surface height used to calculate PFu and PFv, in m,
! with any tidal contributions or compressibility compensation.

Expand All @@ -510,7 +510,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
dpa_bk, & ! The change in pressure anomaly between the top and bottom
! of a layer, in Pa.
intz_dpa_bk ! The vertical integral in depth of the pressure anomaly less
! the pressure anomaly at the top of the layer, in m Pa.
! the pressure anomaly at the top of the layer, in H Pa (m Pa).
real, dimension(SZIB_BK_(G),SZJ_BK_(G)) :: & ! on block indices
intx_pa_bk, & ! The zonal integral of the pressure anomaly along the interface
! atop a layer, divided by the grid spacing, in Pa.
Expand Down Expand Up @@ -576,13 +576,13 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
! but that is not yet implemented, and the current form is correct for
! barotropic tides.
!$OMP parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,nz,e,G,h)
do j=Jsq,Jeq+1
do j=Jsq,Jeq+1
do i=Isq,Ieq+1
e(i,j,1) = -1.0*G%bathyT(i,j)
enddo
do k=1,nz ; do i=Isq,Ieq+1
e(i,j,1) = e(i,j,1) + G%H_to_m*h(i,j,k)
enddo ; enddo
e(i,j,1) = e(i,j,1) + h(i,j,k)*G%H_to_m
enddo ; enddo
enddo
call calc_tidal_forcing(CS%Time, e(:,:,1), e_tidal, G, CS%tides_CSp)
endif
Expand All @@ -602,7 +602,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
endif
!$OMP do
do j=Jsq,Jeq+1; do k=nz,1,-1 ; do i=Isq,Ieq+1
e(i,j,K) = e(i,j,K+1) + G%H_to_m*h(i,j,k)
e(i,j,K) = e(i,j,K+1) + h(i,j,k)*G%H_to_m
enddo ; enddo ; enddo
!$OMP end parallel

Expand Down Expand Up @@ -677,9 +677,9 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
! of freedeom needed to know the linear profile).
if ( use_ALE ) then
if ( PRScheme == PRESSURE_RECONSTRUCTION_PLM ) then
call pressure_gradient_plm (ALE_CSp, S_t, S_b, T_t, T_b, G, tv, h );
call pressure_gradient_plm (ALE_CSp, S_t, S_b, T_t, T_b, G, tv, h);
elseif ( PRScheme == PRESSURE_RECONSTRUCTION_PPM ) then
call pressure_gradient_ppm (ALE_CSp, S_t, S_b, T_t, T_b, G, tv, h );
call pressure_gradient_ppm (ALE_CSp, S_t, S_b, T_t, T_b, G, tv, h);
endif
endif

Expand Down Expand Up @@ -754,6 +754,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
rho_ref, CS%Rho0, G%g_Earth, G%Block(n), tv%eqn_of_state, &
dpa_bk, intz_dpa_bk, intx_dpa_bk, inty_dpa_bk )
endif
intz_dpa_bk(:,:) = intz_dpa_bk(:,:)*G%m_to_H
else
do jb=Jsq_bk,Jeq_bk+1 ; do ib=Isq_bk,Ieq_bk+1
i = ib+ioff_bk ; j = jb+joff_bk
Expand All @@ -775,7 +776,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
PFu(I,j,k) = (((pa_bk(ib,jb)*h(i,j,k) + intz_dpa_bk(ib,jb)) - &
(pa_bk(ib+1,jb)*h(i+1,j,k) + intz_dpa_bk(ib+1,jb))) + &
((h(i+1,j,k) - h(i,j,k)) * intx_pa_bk(Ib,jb) - &
(e(i+1,j,K+1) - e(i,j,K+1)) * intx_dpa_bk(Ib,jb))) * &
(e(i+1,j,K+1) - e(i,j,K+1)) * intx_dpa_bk(Ib,jb) * G%m_to_H)) * &
((2.0*I_Rho0*G%IdxCu(I,j)) / &
((h(i,j,k) + h(i+1,j,k)) + h_neglect))
intx_pa_bk(Ib,jb) = intx_pa_bk(Ib,jb) + intx_dpa_bk(Ib,jb)
Expand All @@ -786,7 +787,7 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
PFv(i,J,k) = (((pa_bk(ib,jb)*h(i,j,k) + intz_dpa_bk(ib,jb)) - &
(pa_bk(ib,jb+1)*h(i,j+1,k) + intz_dpa_bk(ib,jb+1))) + &
((h(i,j+1,k) - h(i,j,k)) * inty_pa_bk(ib,Jb) - &
(e(i,j+1,K+1) - e(i,j,K+1)) * inty_dpa_bk(ib,Jb))) * &
(e(i,j+1,K+1) - e(i,j,K+1)) * inty_dpa_bk(ib,Jb) * G%m_to_H)) * &
((2.0*I_Rho0*G%IdyCv(i,J)) / &
((h(i,j,k) + h(i,j+1,k)) + h_neglect))
inty_pa_bk(ib,Jb) = inty_pa_bk(ib,Jb) + inty_dpa_bk(ib,Jb)
Expand Down Expand Up @@ -819,12 +820,12 @@ subroutine PressureForce_AFV_Bouss(h, tv, PFu, PFv, G, CS, ALE_CSp, p_atm, pbce,
! about 200 lines above.
!$OM parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,eta,e,e_tidal)
do j=Jsq,Jeq+1 ; do i=Isq,Ieq+1
eta(i,j) = e(i,j,1) + e_tidal(i,j)
eta(i,j) = e(i,j,1)*G%m_to_H + e_tidal(i,j)*G%m_to_H
enddo ; enddo
else
!$OM parallel do default(none) shared(Isq,Ieq,Jsq,Jeq,eta,e)
do j=Jsq,Jeq+1 ; do i=Isq,Ieq+1
eta(i,j) = e(i,j,1)
eta(i,j) = e(i,j,1)*G%m_to_H
enddo ; enddo
endif
endif
Expand Down
Loading

0 comments on commit b10de2d

Please sign in to comment.