Skip to content

Commit

Permalink
Merge pull request NorESMhub#388 from matsbn/feature-ale_refactorization
Browse files Browse the repository at this point in the history
Arbitrary Lagrangian-Eulerian (ALE) code refactorization
  • Loading branch information
matsbn authored Sep 24, 2024
2 parents 3b5a48c + b083df8 commit 1ade407
Show file tree
Hide file tree
Showing 37 changed files with 2,782 additions and 2,738 deletions.
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

0 comments on commit 1ade407

Please sign in to comment.