Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arbitrary Lagrangian-Eulerian (ALE) code refactorization #388

Merged
merged 9 commits into from
Sep 24, 2024
173 changes: 84 additions & 89 deletions ben02/mod_ben02.F90
Original file line number Diff line number Diff line change
Expand Up @@ -658,11 +658,10 @@ subroutine initai
real, dimension(0:atm_nwgt) :: r_wgt
real :: piloc,min_d,d,r,l2
integer :: atm_idm_t,atm_jdm_t,idm_t,jdm_t,atm_nwgt_t,nw_2,is,js,it, &
jt,iso,jso,m,n,i,j,iii,ism1,isp1,jsm1,jsp1,itm1,itp1,jtm1, &
jtp1
jt,iso,jso,m,n,i,j,iii,ism1,isp1,jsm1,jsp1,itm1,itp1,jtm1, &
jtp1,nfu
logical :: dimok,exists
character :: filename*120
integer :: nfu

! --- Get global coordinates of p-points.
call xcaget(tmp2da,plat,1)
Expand All @@ -689,12 +688,12 @@ subroutine initai

! --- - Allocate memory for the atmospheric interpolation.
allocate(atm_lon(atm_idm,atm_jdm), &
atm_lat(atm_idm,atm_jdm), &
atm_mask(atm_idm,atm_jdm), &
atm_topo(atm_idm,atm_jdm), &
atm_wgt(atm_nwgt,itdm,jtdm), &
atm_iwgt(atm_nwgt,itdm,jtdm), &
atm_jwgt(atm_nwgt,itdm,jtdm))
atm_lat(atm_idm,atm_jdm), &
atm_mask(atm_idm,atm_jdm), &
atm_topo(atm_idm,atm_jdm), &
atm_wgt(atm_nwgt,itdm,jtdm), &
atm_iwgt(atm_nwgt,itdm,jtdm), &
atm_jwgt(atm_nwgt,itdm,jtdm))

! --- - Read atmospheric lon/lat coordinates and land mask.
filename = atm_path(1:atm_path_len)//'land.sfc.gauss.nc'
Expand Down Expand Up @@ -881,12 +880,12 @@ subroutine fnlzai

if (mnproc == 1) then
deallocate(atm_lon, &
atm_lat, &
atm_mask, &
atm_topo, &
atm_wgt, &
atm_iwgt, &
atm_jwgt)
atm_lat, &
atm_mask, &
atm_topo, &
atm_wgt, &
atm_iwgt, &
atm_jwgt)
end if

end subroutine fnlzai
Expand Down Expand Up @@ -1936,8 +1935,7 @@ subroutine rdcsic
real, dimension(atm_idm,atm_jdm) :: atm_field
real*4, dimension(atm_idm,atm_jdm) :: atm_field_r4
real, dimension(itdm,jtdm) :: tmp2d
integer :: i,j,k
integer :: nfu
integer :: i,j,k,nfu

if (mnproc == 1) then
write (lp,*) 'reading atm. climatological ice concentration...'
Expand Down Expand Up @@ -1991,8 +1989,7 @@ subroutine rdctsf
real, dimension(itdm,jtdm) :: tmp2d
real :: dx2,dy2
integer, dimension(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy) :: smtmsk
integer :: i,j,k,l
integer :: nfu
integer :: i,j,k,l,nfu

if (mnproc == 1) then
write (lp,*) &
Expand Down Expand Up @@ -2105,53 +2102,52 @@ subroutine inifrc_ben02clim
sht_sum,fwf_fac,dangle,garea,le,albedo,fac,swa_ave,lwa_ave, &
lht_ave,sht_ave,crnf,cswa,A_cgs2mks
real*4 :: rw4
integer :: i,j,k,l,il,jl
integer :: i,j,k,l,il,jl,nfu
integer*2 :: rn2,ri2,rj2
integer :: nfu

A_cgs2mks = 1./(L_mks2cgs**2)

! --- Allocate memory for additional monthly forcing fields.
allocate(taud (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
tauxd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
tauyd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
dswrfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
nlwrfs(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
shtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
lhtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
precip(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
clouds(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
slpres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
runoff(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12))
tauxd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
tauyd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
dswrfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
nlwrfs(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
shtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
lhtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
precip(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
clouds(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
slpres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12), &
runoff(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,12))

! --- Allocate memory for transfer coefficients, gustiness squared, and
! --- air density
allocate(cd_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
cd_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rhoa(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
ch_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
cd_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rhoa(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- Allocate memory for accumulation variables
allocate(tsi_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
sml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
fice_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tsi(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
tml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
sml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
fice_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tsi(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- Allocate memory for derivative of non-solar heat flux by surface
! --- temperature, albedos and instantaneous runoff flux and runoff
! --- reservoar
allocate(dfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
albw(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfins(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
albw(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfins(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- number of iteration in the computation of transfer coefficients.
tciter = 5
Expand All @@ -2171,8 +2167,8 @@ subroutine inifrc_ben02clim
! --- Allocate memory for temporary fields
if (mnproc == 1) then
allocate(atm_sktclm(atm_idm,atm_jdm,12), &
atm_field(atm_idm,atm_jdm), &
atm_field_r4(atm_idm,atm_jdm))
atm_field(atm_idm,atm_jdm), &
atm_field_r4(atm_idm,atm_jdm))
end if

! --- Compute smoothing weights atm_ice_swgt and atm_rnf_swgt. For
Expand Down Expand Up @@ -2658,8 +2654,8 @@ subroutine inifrc_ben02clim
! --- - areas

allocate(rnf_wgt (atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpi(atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpj(atm_abdm,atm_idm,atm_jdm))
rnf_ocdpi(atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpj(atm_abdm,atm_idm,atm_jdm))

if (expcnf == 'single_column') then
rnf_wgt = 0.
Expand Down Expand Up @@ -2752,17 +2748,17 @@ subroutine inifrc_ben02clim
if (mnproc == 1) then
close (unit = nfu)
deallocate(rnf_wgt, &
rnf_ocdpi, &
rnf_ocdpj)
rnf_ocdpi, &
rnf_ocdpj)
end if

call xctilr(runoff, 1,12, nbdy,nbdy, halo_ps)

! --- Deallocate memory used for interpolation of surface fields.
if (mnproc == 1) then
deallocate(atm_sktclm, &
atm_field, &
atm_field_r4)
atm_field, &
atm_field_r4)
end if
call fnlzai

Expand Down Expand Up @@ -2935,53 +2931,52 @@ subroutine inifrc_ben02syn

real :: dx2,dy2
real*4 :: rw4
integer :: errstat,i,j,k,l
integer :: errstat,i,j,k,l,nfu
integer*2 :: rn2,ri2,rj2
integer :: nfu

! --- Allocate memory for daily forcing fields.
allocate(taud (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
tauxd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
tauyd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
dswrfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
nlwrfs(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
shtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
lhtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
precip(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
clouds(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
slpres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
runoff(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
tmpsfc(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
ricec (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5))
tauxd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
tauyd (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
dswrfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
nlwrfs(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
shtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
lhtflx(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
precip(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
clouds(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
slpres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
runoff(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
tmpsfc(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5), &
ricec (1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy,5))

! --- Allocate memory for transfer coefficients, gustiness squared, and
! --- air density
allocate(cd_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
cd_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rhoa(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
ch_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_d(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
cd_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ch_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
ce_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
wg2_m(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rhoa(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- Allocate memory for accumulation variables
allocate(tsi_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
sml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
fice_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tsi(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
tml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
sml_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
fice_tda(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
tsi(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- Allocate memory for derivative of non-solar heat flux by surface
! --- temperature, albedos and instantaneous runoff flux and runoff
! --- reservoar
allocate(dfl(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
albw(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfins(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))
albw(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
alb(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfins(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy), &
rnfres(1-nbdy:idm+nbdy,1-nbdy:jdm+nbdy))

! --- Number of iteration in the computation of transfer coefficients.
tciter = 1
Expand Down Expand Up @@ -3067,8 +3062,8 @@ subroutine inifrc_ben02syn
! --- - areas

allocate(rnf_wgt (atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpi(atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpj(atm_abdm,atm_idm,atm_jdm))
rnf_ocdpi(atm_abdm,atm_idm,atm_jdm), &
rnf_ocdpj(atm_abdm,atm_idm,atm_jdm))

open (newunit=nfu,file = 'runoffweights.uf', &
form='unformatted',status='old',action = 'read')
Expand Down
18 changes: 9 additions & 9 deletions ben02/mod_thermf_ben02.F90
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
! ------------------------------------------------------------------------------
! Copyright (C) 2002-2023 Mats Bentsen, Mehmet Ilicak

! Copyright (C) 2002-2024 Mats Bentsen, Mehmet Ilicak
!
! This file is part of BLOM.

!
! BLOM is free software: you can redistribute it and/or modify it under the
! terms of the GNU Lesser General Public License as published by the Free
! Software Foundation, either version 3 of the License, or (at your option)
! any later version.

!
! BLOM is distributed in the hope that it will be useful, but WITHOUT ANY
! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
! FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
! more details.

!
! You should have received a copy of the GNU Lesser General Public License
! along with BLOM. If not, see <https://www.gnu.org/licenses/>.
! ------------------------------------------------------------------------------
Expand All @@ -25,7 +25,7 @@ module mod_thermf_ben02
nstep_in_day, baclin, &
xmi, l1mi, l2mi, l3mi, l4mi, l5mi
use mod_xc
use mod_vcoord, only: vcoord_type_tag, isopyc_bulkml
use mod_vcoord, only: vcoord_tag, vcoord_isopyc_bulkml
use mod_grid, only: scp2, plat, area
use mod_state, only: dp, temp, saln, p
use mod_swtfrz, only: swtfrz
Expand Down Expand Up @@ -468,7 +468,7 @@ subroutine thermf_ben02(m,n,mm,nn,k1m,k1n)
ricclm(i,j,l3mi),ricclm(i,j,l4mi), &
ricclm(i,j,l5mi),xmi)
sstc = (1.-rice)*max(sstc,tice_f)+rice*tice_f
if (vcoord_type_tag == isopyc_bulkml) then
if (vcoord_tag == vcoord_isopyc_bulkml) then
dpmxl = dp(i,j,1+nn)+dp(i,j,2+nn)
hmxl = dpmxl/onem
tmxl = (temp(i,j,1+nn)*dp(i,j,1+nn) &
Expand Down Expand Up @@ -526,7 +526,7 @@ subroutine thermf_ben02(m,n,mm,nn,k1m,k1n)
sssc = intp1d(sssclm(i,j,l1mi),sssclm(i,j,l2mi), &
sssclm(i,j,l3mi),sssclm(i,j,l4mi), &
sssclm(i,j,l5mi),xmi)
if (vcoord_type_tag == isopyc_bulkml) then
if (vcoord_tag == vcoord_isopyc_bulkml) then
dpmxl = dp(i,j,1+nn)+dp(i,j,2+nn)
hmxl = dpmxl/onem
smxl = (saln(i,j,1+nn)*dp(i,j,1+nn) &
Expand Down Expand Up @@ -737,7 +737,7 @@ subroutine thermf_ben02(m,n,mm,nn,k1m,k1n)
call chksummsk(salrlx,ip,1,'salrlx')
call chksummsk(iagem,ip,1,'iagem')
call chksummsk(ustar,ip,1,'ustar')
if (vcoord_type_tag /= isopyc_bulkml) then
if (vcoord_tag /= vcoord_isopyc_bulkml) then
call chksummsk(t_rs_nonloc, ip, kk+1, 't_rs_nonloc')
call chksummsk(s_rs_nonloc, ip, kk+1, 's_rs_nonloc')
end if
Expand Down
8 changes: 4 additions & 4 deletions cesm/mod_thermf_cesm.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ module mod_thermf_cesm
nday_of_year, baclin, &
xmi, l1mi, l2mi, l3mi, l4mi, l5mi
use mod_xc
use mod_vcoord, only: vcoord_type_tag, isopyc_bulkml
use mod_vcoord, only: vcoord_tag, vcoord_isopyc_bulkml
use mod_grid, only: scp2, area
use mod_state, only: dp, temp, saln, p
use mod_swtfrz, only: swtfrz
Expand Down Expand Up @@ -211,7 +211,7 @@ subroutine thermf_cesm(m,n,mm,nn,k1m,k1n)
ricclm(i,j,l3mi),ricclm(i,j,l4mi), ricclm(i,j,l5mi),xmi)
sstc = (1.-rice)*max(sstc,tice_f)+rice*tice_f
end if
if (vcoord_type_tag == isopyc_bulkml) then
if (vcoord_tag == vcoord_isopyc_bulkml) then
dpmxl = dp(i,j,1+nn)+dp(i,j,2+nn)
hmxl = dpmxl/onem
tmxl = (temp(i,j,1+nn)*dp(i,j,1+nn) + temp(i,j,2+nn)*dp(i,j,2+nn))/dpmxl+t0deg
Expand Down Expand Up @@ -267,7 +267,7 @@ subroutine thermf_cesm(m,n,mm,nn,k1m,k1n)
sssc = intp1d(sssclm(i,j,l1mi),sssclm(i,j,l2mi), &
sssclm(i,j,l3mi),sssclm(i,j,l4mi),sssclm(i,j,l5mi),xmi)
end if
if (vcoord_type_tag == isopyc_bulkml) then
if (vcoord_tag == vcoord_isopyc_bulkml) then
dpmxl = dp(i,j,1+nn)+dp(i,j,2+nn)
hmxl = dpmxl/onem
smxl = (saln(i,j,1+nn)*dp(i,j,1+nn) + saln(i,j,2+nn)*dp(i,j,2+nn))/dpmxl
Expand Down Expand Up @@ -427,7 +427,7 @@ subroutine thermf_cesm(m,n,mm,nn,k1m,k1n)
call chksummsk(ustar,ip,1,'ustar')
call chksummsk(frzpot,ip,1,'frzpot')
call chksummsk(mltpot,ip,1,'mltpot')
if (vcoord_type_tag /= isopyc_bulkml) then
if (vcoord_tag /= vcoord_isopyc_bulkml) then
call chksummsk(t_rs_nonloc, ip, kk+1, 't_rs_nonloc')
call chksummsk(s_rs_nonloc, ip, kk+1, 's_rs_nonloc')
end if
Expand Down
Loading