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

NUOPC/CMEPS cap updates #670

Merged
merged 90 commits into from
Dec 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
183218a
updated orbital calculations needed for cesm
Apr 23, 2020
10e7c20
fixed problems in updated orbital calculations needed for cesm
Apr 29, 2020
ce8e5a9
update CICE6 to support coupling with UFS
apcraig May 10, 2020
8f0b5ee
Merge pull request #2 from apcraig/ufs01
dabail10 May 10, 2020
7ac0e3d
Merge pull request #1 from ESCOMP/nuopc
DeniseWorthen May 12, 2020
80c9e6e
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 May 19, 2020
53715ea
put in changes so that both ufsatm and cesm requirements for potentia…
May 25, 2020
7e43703
Merge pull request #3 from mvertens/mvertens/nuopc
dabail10 May 26, 2020
f41f1e9
Merge remote-tracking branch 'upstream/nuopc' into HEAD
DeniseWorthen Jun 22, 2020
e70d1ab
update icepack submodule
DeniseWorthen Jun 22, 2020
308a1d4
Revert "update icepack submodule"
DeniseWorthen Jun 22, 2020
7848fdf
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 24, 2020
6982ee4
Merge remote-tracking branch 'upstream/nuopc' into HEAD
DeniseWorthen Jun 25, 2020
089f60f
update comp_ice.backend with temporary ice_timers fix
DeniseWorthen Jun 25, 2020
6affdcf
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 29, 2020
b5a6058
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 1, 2020
415df0e
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 1, 2020
b4da8a6
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 1, 2020
239c7de
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 1, 2020
ad03424
Fix threading problem in init_bgc
dabail10 Jul 1, 2020
73e7774
Fix additional OMP problems
dabail10 Jul 1, 2020
46fcfba
changes for coldstart running
DeniseWorthen Jul 2, 2020
c762336
Move the forapps directory
dabail10 Jul 2, 2020
6bccf71
remove cesmcoupled ifdefs
DeniseWorthen Jul 2, 2020
902e883
Fix logging issues for NUOPC
dabail10 Jul 2, 2020
178693a
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 2, 2020
b4afd2e
removal of many cpp-ifdefs
Jul 4, 2020
3a1b88b
fix compile errors
DeniseWorthen Jul 4, 2020
41855fd
fixes to get cesm working
Jul 4, 2020
aea1aa8
update to latest nuopc changes
Jul 4, 2020
e4c989c
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 6, 2020
30a81cc
fixed white space issue
Jul 7, 2020
8ebdda9
Merge pull request #4 from mvertens/nuopc
dabail10 Jul 7, 2020
27dd3b7
Add restart_coszen namelist option
dabail10 Jul 7, 2020
6b4a277
Merge branch 'nuopc' into coszen
dabail10 Jul 7, 2020
93f0e86
Merge pull request #5 from ESCOMP/coszen
dabail10 Jul 7, 2020
7211bc1
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 9, 2020
148ab08
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Jul 9, 2020
aa9ef50
Update NUOPC cap to work with latest CICE6 master
dabail10 Jul 15, 2020
793e7ce
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 28, 2020
7fc1c30
nuopc,cmeps or s2s build updates
DeniseWorthen Aug 5, 2020
1802396
fixes for dbug_flag
DeniseWorthen Aug 6, 2020
964c860
Merge pull request #6 from DeniseWorthen/escomp/nuopc
dabail10 Aug 10, 2020
1cf95cf
Update nuopc2 to latest CICE master
dabail10 Aug 10, 2020
adbff47
Merge latest CICE master
dabail10 Aug 10, 2020
b52362e
Fix some merge problems
dabail10 Aug 10, 2020
f106591
Fix dbug variable
dabail10 Aug 10, 2020
64c5569
Manual merge of UFS changes
dabail10 Aug 12, 2020
f6040e1
Merge pull request #7 from ESCOMP/nuopc2
dabail10 Aug 12, 2020
5a0c13d
Merge branch 'nuopc' of https://github.com/ESCOMP/CICE into nuopc
dabail10 Aug 13, 2020
3e4d1e7
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Aug 13, 2020
c360dc2
fixes to get CESM B1850 compset working
Oct 4, 2020
1a32f3e
refactored ice_prescribed_mod.F90 to work with cdeps rather than the …
Oct 5, 2020
e48dd38
Fix use_restart_time
dabail10 Jan 26, 2021
f59b5c3
changes for creating masks at runtime
Jan 28, 2021
66356cb
added ice_mesh_mod
Jan 29, 2021
6ff987c
implemented area correction factors as option
Feb 1, 2021
0f90ce1
more cleanup
Feb 1, 2021
d78c3a3
Fix dragio
dabail10 Mar 22, 2021
1139e7f
Merge pull request #8 from ESCOMP/mvertens/nuopc_updates
dabail10 Mar 22, 2021
68132e7
Fix mushy bug
dabail10 Mar 22, 2021
ff3783a
updates to nuopc cap to resolve inconsistency between driver inputs a…
Mar 24, 2021
718a75d
changed error message
Mar 24, 2021
3ee6fe2
added icepack_warnings_flush
Mar 24, 2021
3bdc07b
updates to get ice categories working
Apr 26, 2021
508e9b9
updates to have F compset almost working with cice6 - still problems …
May 4, 2021
a2ddbd9
changed tolerance of mesh/grid comparison
May 6, 2021
56e1a83
added issues raised in PR
May 10, 2021
8b5ac3a
Merge pull request #9 from ESCOMP/nuopc_updates
dabail10 Jun 2, 2021
82d5d51
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 7, 2021
6faa645
Merge CICE Consortium main to nuopc
dabail10 Jun 7, 2021
f6f2e33
Update to latest Consortium main
dabail10 Jun 18, 2021
a026050
Update CESM-CICE sync with new time manager
dabail10 Jun 21, 2021
380045b
Add back in latlongrid
dabail10 Jun 21, 2021
874274a
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jun 22, 2021
a41a9dd
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Jul 12, 2021
5ed5734
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Aug 4, 2021
35e47f0
Merge branch 'master' of https://github.com/CICE-Consortium/CICE into…
dabail10 Sep 2, 2021
72e7ad3
Merge branch 'main' of https://github.com/CICE-Consortium/CICE into n…
dabail10 Oct 15, 2021
c896dc6
Add new advanced snow physics to driver
dabail10 Oct 19, 2021
9fbb188
Fix restart issue with land blocks
dabail10 Oct 27, 2021
cbefb7a
Update mesh check in cap
dabail10 Oct 28, 2021
ecbd0a2
fix scam problems
Nov 9, 2021
cf5f6d9
Merge tag 'cice6_20211028' into feature/fix_scam
Nov 9, 2021
364961c
reintroduced imesh_eps check
Nov 24, 2021
79ccb3d
Update CICE_InitMod.F90
dabail10 Dec 2, 2021
545906e
Put dragio in the namelist instead
dabail10 Dec 2, 2021
5296481
Merge branch 'feature/fix_scam' of https://github.com/mvertens/CICE i…
dabail10 Dec 2, 2021
6db265a
Remove redundant code
dabail10 Dec 6, 2021
5e6a27c
Fix some indents
dabail10 Dec 6, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cicecore/cicedynB/infrastructure/io/io_pio2/ice_restart.F90
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,7 @@ subroutine read_restart_field(nu,nrec,work,atype,vname,ndim3,diag, &
! if (ndim3 == ncat .and. ncat>1) then
if (ndim3 == ncat .and. ndims == 3) then
call pio_read_darray(File, vardesc, iodesc3d_ncat, work, status)
where (work == PIO_FILL_DOUBLE) work = c0
if (present(field_loc)) then
do n=1,ndim3
call ice_HaloUpdate (work(:,:,n,:), halo_info, &
Expand All @@ -737,6 +738,7 @@ subroutine read_restart_field(nu,nrec,work,atype,vname,ndim3,diag, &
! elseif (ndim3 == 1) then
elseif (ndim3 == 1 .and. ndims == 2) then
call pio_read_darray(File, vardesc, iodesc2d, work, status)
where (work == PIO_FILL_DOUBLE) work = c0
if (present(field_loc)) then
call ice_HaloUpdate (work(:,:,1,:), halo_info, &
field_loc, field_type)
Expand Down
6 changes: 1 addition & 5 deletions cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ subroutine cice_init2()
use ice_dyn_vp , only: init_vp
use ice_flux , only: init_coupler_flux, init_history_therm
use ice_flux , only: init_history_dyn, init_flux_atm, init_flux_ocn
use ice_forcing , only: init_forcing_ocn, init_snowtable
use ice_forcing , only: init_snowtable
use ice_forcing_bgc , only: get_forcing_bgc, get_atm_bgc
use ice_forcing_bgc , only: faero_default, faero_optics, alloc_forcing_bgc, fiso_default
use ice_history , only: init_hist, accum_hist
Expand Down Expand Up @@ -139,9 +139,6 @@ subroutine cice_init2()

call calendar() ! determine the initial date

!TODO: - why is this being called when you are using CMEPS?
call init_forcing_ocn(dt) ! initialize sss and sst from data

call init_state ! initialize the ice state
call init_transport ! initialize horizontal transport
call ice_HaloRestore_init ! restored boundary conditions
Expand Down Expand Up @@ -388,7 +385,6 @@ subroutine init_restart()
call init_fsd(trcrn(:,:,nt_fsd:nt_fsd+nfsd-1,:,:))
endif
endif

! isotopes
if (tr_iso) then
if (trim(runtype) == 'continue') restart_iso = .true.
Expand Down
20 changes: 10 additions & 10 deletions cicecore/drivers/nuopc/cmeps/CICE_RunMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ subroutine CICE_Run
tr_iso, tr_aero, tr_zaero, skl_bgc, z_tracers, wave_spec, tr_fsd
character(len=*), parameter :: subname = '(CICE_Run)'

!--------------------------------------------------------------------
! initialize error code and step timer
!--------------------------------------------------------------------
!--------------------------------------------------------------------
! initialize error code and step timer
!--------------------------------------------------------------------

call ice_timer_start(timer_step) ! start timing entire run

Expand All @@ -73,13 +73,13 @@ subroutine CICE_Run
if (icepack_warnings_aborted()) call abort_ice(error_message=subname, &
file=__FILE__, line=__LINE__)

!--------------------------------------------------------------------
! timestep loop
!--------------------------------------------------------------------
!--------------------------------------------------------------------
! timestep loop
!--------------------------------------------------------------------

call ice_timer_start(timer_couple) ! atm/ocn coupling

call advance_timestep() ! advance timestep and update calendar data
call advance_timestep() ! advance timestep and update calendar data

if (z_tracers) call get_atm_bgc ! biogeochemistry

Expand All @@ -90,9 +90,9 @@ subroutine CICE_Run

call ice_step

!--------------------------------------------------------------------
! end of timestep loop
!--------------------------------------------------------------------
!--------------------------------------------------------------------
! end of timestep loop
!--------------------------------------------------------------------

call ice_timer_stop(timer_step) ! end timestepping loop timer

Expand Down
188 changes: 112 additions & 76 deletions cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,10 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
integer :: ilo, ihi, jlo, jhi ! beginning and end of physical domain
character(len=char_len_long) :: diag_filename = 'unset'
character(len=char_len_long) :: logmsg
character(len=char_len_long) :: single_column_lnd_domainfile
real(dbl_kind) :: scol_lon
real(dbl_kind) :: scol_lat
real(dbl_kind) :: scol_spval
character(len=*), parameter :: subname=trim(modName)//':(InitializeAdvertise) '
!--------------------------------

Expand Down Expand Up @@ -376,8 +380,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
depressT_in = 0.054_dbl_kind, &
Tocnfrz_in = -34.0_dbl_kind*0.054_dbl_kind, &
pi_in = SHR_CONST_PI, &
snowpatch_in = 0.005_dbl_kind, &
dragio_in = 0.00536_dbl_kind)
snowpatch_in = 0.005_dbl_kind)

call icepack_warnings_flush(nu_diag)
if (icepack_warnings_aborted()) call abort_ice(error_message=subname, &
Expand Down Expand Up @@ -506,12 +509,67 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
! First cice initialization phase - before initializing grid info
!----------------------------------------------------------------------------

#ifdef CESMCOUPLED
! Determine if single column

call NUOPC_CompAttributeGet(gcomp, name='scol_lon', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scmlon
call NUOPC_CompAttributeGet(gcomp, name='scol_lat', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scmlat
call NUOPC_CompAttributeGet(gcomp, name='scol_spval', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_spval

if (scmlon > scol_spval .and. scmlat > scol_spval) then
call NUOPC_CompAttributeGet(gcomp, name='single_column_lnd_domainfile', &
value=single_column_lnd_domainfile, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (trim(single_column_lnd_domainfile) /= 'UNSET') then
single_column = .true.
else
call abort_ice('single_column_domainfile cannot be null for single column mode')
end if
call NUOPC_CompAttributeGet(gcomp, name='scol_ocnmask', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_mask
call NUOPC_CompAttributeGet(gcomp, name='scol_ocnfrac', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_frac
call NUOPC_CompAttributeGet(gcomp, name='scol_ni', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_ni
call NUOPC_CompAttributeGet(gcomp, name='scol_nj', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_nj

call ice_mesh_create_scolumn(scmlon, scmlat, ice_mesh, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

scol_valid = (scol_mask == 1)
if (.not. scol_valid) then
write(6,*)'DEBUG: i am here'
! Advertise fields
call ice_advertise_fields(gcomp, importState, exportState, flds_scalar_name, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

call t_stopf ('cice_init_total')

! *******************
! *** RETURN HERE ***
! *******************
RETURN
end if
end if

! Read the cice namelist as part of the call to cice_init1
! Note that if single_column is true and scol_valid is not - will never get here

call t_startf ('cice_init1')
call cice_init1
call t_stopf ('cice_init1')

#ifdef CESMCOUPLED
! Form of ocean freezing temperature
! 'minus1p8' = -1.8 C
! 'linear_salt' = -depressT * sss
Expand Down Expand Up @@ -559,13 +617,20 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
' must be the same as natmiter from cice namelist ',natmiter
call abort_ice(trim(errmsg))
endif

#else

! Read the cice namelist as part of the call to cice_init1
call t_startf ('cice_init1')
call cice_init1
call t_stopf ('cice_init1')

#endif

!----------------------------------------------------------------------------
! Initialize grid info
!----------------------------------------------------------------------------

! Initialize cice mesh and mask if appropriate

if (single_column .and. scol_valid) then
call ice_mesh_init_tlon_tlat_area_hm()
else
Expand Down Expand Up @@ -750,82 +815,43 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc)
if (dbug > 5) call ESMF_LogWrite(subname//' called', ESMF_LOGMSG_INFO)

#ifdef CESMCOUPLED
call NUOPC_CompAttributeGet(gcomp, name='scol_lon', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scmlon
call NUOPC_CompAttributeGet(gcomp, name='scol_lat', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scmlat
call NUOPC_CompAttributeGet(gcomp, name='scol_spval', value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_spval

if (scmlon > scol_spval .and. scmlat > scol_spval) then
call NUOPC_CompAttributeGet(gcomp, name='single_column_lnd_domainfile', &
value=single_column_lnd_domainfile, rc=rc)
! if single column is not valid - set all export state fields to zero and return
if (single_column .and. .not. scol_valid) then
write(nu_diag,'(a)')' (ice_comp_nuopc) single column mode point does not contain any ocn/ice '&
//' - setting all export data to 0'
call ice_realize_fields(gcomp, mesh=ice_mesh, &
flds_scalar_name=flds_scalar_name, flds_scalar_num=flds_scalar_num, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (trim(single_column_lnd_domainfile) /= 'UNSET') then
single_column = .true.
else
call abort_ice('single_column_domainfile cannot be null for single column mode')
end if
call NUOPC_CompAttributeGet(gcomp, name='scol_ocnmask', value=cvalue, rc=rc)
call ESMF_StateGet(exportState, itemCount=fieldCount, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_mask
call NUOPC_CompAttributeGet(gcomp, name='scol_ocnfrac', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_frac
call NUOPC_CompAttributeGet(gcomp, name='scol_ni', value=cvalue, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_ni
call NUOPC_CompAttributeGet(gcomp, name='scol_nj', value=cvalue, rc=rc)
allocate(lfieldnamelist(fieldCount))
call ESMF_StateGet(exportState, itemNameList=lfieldnamelist, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) scol_nj

call ice_mesh_create_scolumn(scmlon, scmlat, ice_mesh, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

scol_valid = (scol_mask == 1)
if (.not. scol_valid) then
! if single column is not valid - set all export state fields to zero and return
write(nu_diag,'(a)')' (ice_comp_nuopc) single column mode point does not contain any ocn/ice '&
//' - setting all export data to 0'
call ice_realize_fields(gcomp, mesh=ice_mesh, &
flds_scalar_name=flds_scalar_name, flds_scalar_num=flds_scalar_num, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
call ESMF_StateGet(exportState, itemCount=fieldCount, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
allocate(lfieldnamelist(fieldCount))
call ESMF_StateGet(exportState, itemNameList=lfieldnamelist, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
do n = 1, fieldCount
if (trim(lfieldnamelist(n)) /= flds_scalar_name) then
call ESMF_StateGet(exportState, itemName=trim(lfieldnamelist(n)), field=lfield, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call ESMF_FieldGet(lfield, rank=rank, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
if (rank == 2) then
call ESMF_FieldGet(lfield, farrayPtr=fldptr2d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr2d(:,:) = 0._dbl_kind
else
call ESMF_FieldGet(lfield, farrayPtr=fldptr1d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr1d(:) = 0._dbl_kind
end if
do n = 1, fieldCount
if (trim(lfieldnamelist(n)) /= flds_scalar_name) then
call ESMF_StateGet(exportState, itemName=trim(lfieldnamelist(n)), field=lfield, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call ESMF_FieldGet(lfield, rank=rank, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
if (rank == 2) then
call ESMF_FieldGet(lfield, farrayPtr=fldptr2d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr2d(:,:) = 0._dbl_kind
else
call ESMF_FieldGet(lfield, farrayPtr=fldptr1d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr1d(:) = 0._dbl_kind
end if
enddo
deallocate(lfieldnamelist)
! *******************
! *** RETURN HERE ***
! *******************
RETURN
else
write(nu_diag,'(a,3(f10.5,2x))')' (ice_comp_nuopc) single column mode lon/lat/frac is ',&
scmlon,scmlat,scol_frac
end if
end if
enddo
deallocate(lfieldnamelist)
! *******************
! *** RETURN HERE ***
! *******************
RETURN
else
single_column = .false.
write(nu_diag,'(a,3(f10.5,2x))')' (ice_comp_nuopc) single column mode lon/lat/frac is ',&
scmlon,scmlat,scol_frac
end if
#endif

Expand Down Expand Up @@ -915,6 +941,16 @@ subroutine ModelAdvance(gcomp, rc)
!--------------------------------

rc = ESMF_SUCCESS

call ESMF_LogWrite(subname//' called', ESMF_LOGMSG_INFO)

if (single_column .and. .not. scol_valid) then
! *******************
! *** RETURN HERE ***
! *******************
RETURN
end if

if (dbug > 5) call ESMF_LogWrite(subname//' called', ESMF_LOGMSG_INFO)

! query the Component for its clock, importState and exportState
Expand Down
4 changes: 3 additions & 1 deletion cicecore/drivers/nuopc/cmeps/ice_import_export.F90
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,9 @@ subroutine ice_advertise_fields(gcomp, importState, exportState, flds_scalar_nam
write(nu_diag,*)'send_i2x_per_cat = ',send_i2x_per_cat
end if
if (.not.send_i2x_per_cat) then
deallocate(fswthrun_ai)
if (allocated(fswthrun_ai)) then
deallocate(fswthrun_ai)
end if
end if

! Determine if the following attributes are sent by the driver and if so read them in
Expand Down
7 changes: 2 additions & 5 deletions cicecore/drivers/nuopc/cmeps/ice_mesh_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -639,16 +639,13 @@ subroutine ice_mesh_check(gcomp, ice_mesh, rc)
diff_lon = abs(mod(lonMesh(n) - tmplon,360.0))
if (diff_lon > eps_imesh ) then
write(6,100)n,lonMesh(n),tmplon, diff_lon
call abort_ice(error_message=subname, &
file=__FILE__, line=__LINE__)
!call abort_ice(error_message=subname, file=__FILE__, line=__LINE__)
end if
diff_lat = abs(latMesh(n) - lat(n))
if (diff_lat > eps_imesh) then
write(6,101)n,latMesh(n),lat(n), diff_lat
call abort_ice(error_message=subname, &
file=__FILE__, line=__LINE__)
!call abort_ice(error_message=subname, file=__FILE__, line=__LINE__)
end if

enddo
enddo
enddo
Expand Down