From 771aecb6c4a191977a1c3a153a3a99e4d5d9259e Mon Sep 17 00:00:00 2001 From: Tony Craig Date: Fri, 13 Mar 2020 10:10:50 -0700 Subject: [PATCH] update wave_spec_frac filename implementation and update icepack (#417) --- cicecore/cicedynB/general/ice_forcing.F90 | 23 ++++++++----------- .../drivers/direct/hadgem3/CICE_InitMod.F90 | 3 ++- cicecore/drivers/mct/cesm1/CICE_InitMod.F90 | 3 ++- cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90 | 3 ++- cicecore/drivers/nuopc/dmi/CICE_InitMod.F90 | 3 ++- .../drivers/standalone/cice/CICE_InitMod.F90 | 3 ++- configuration/scripts/options/set_nml.fsd1 | 2 +- configuration/scripts/options/set_nml.fsd12 | 3 +-- .../scripts/options/set_nml.fsd12ww3 | 3 +-- icepack | 2 +- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/cicecore/cicedynB/general/ice_forcing.F90 b/cicecore/cicedynB/general/ice_forcing.F90 index ee7d7301c..0632408bf 100755 --- a/cicecore/cicedynB/general/ice_forcing.F90 +++ b/cicecore/cicedynB/general/ice_forcing.F90 @@ -5167,7 +5167,6 @@ subroutine get_wave_spec real(kind=dbl_kind), dimension(nfreq) :: & wave_spectrum_profile ! wave spectrum - character(char_len_long) :: spec_file character(char_len) :: wave_spec_type logical (kind=log_kind) :: wave_spec character(len=*), parameter :: subname = '(get_wave_spec)' @@ -5193,23 +5192,21 @@ subroutine get_wave_spec wave_spectrum_profile, & wavefreq, dwavefreq) - ! read more realistic data from a file if ((trim(wave_spec_type) == 'constant').OR.(trim(wave_spec_type) == 'random')) then - if (trim(wave_spec_file(1:4)) == 'unkn') then - call abort_ice (subname//'ERROR: wave_spec_file '//trim(wave_spec_file)) - else + if (trim(wave_spec_file(1:4)) == 'unkn') then + call abort_ice (subname//'ERROR: wave_spec_file '//trim(wave_spec_file)) + else #ifdef ncdf - spec_file = trim(wave_spec_dir)//'/'//trim(wave_spec_file) - call ice_open_nc(spec_file,fid) - call ice_read_nc_xyf (fid, 1, 'efreq', wave_spectrum(:,:,:,:), dbug, & - field_loc_center, field_type_scalar) - call ice_close_nc(fid) + call ice_open_nc(wave_spec_file,fid) + call ice_read_nc_xyf (fid, 1, 'efreq', wave_spectrum(:,:,:,:), dbug, & + field_loc_center, field_type_scalar) + call ice_close_nc(fid) #else - write (nu_diag,*) "wave spectrum file not available, requires ncdf" - write (nu_diag,*) "wave spectrum file not available, using default profile" + write (nu_diag,*) "wave spectrum file not available, requires ncdf" + write (nu_diag,*) "wave spectrum file not available, using default profile" #endif - endif + endif endif endif diff --git a/cicecore/drivers/direct/hadgem3/CICE_InitMod.F90 b/cicecore/drivers/direct/hadgem3/CICE_InitMod.F90 index 7ec28783f..b208bcbef 100644 --- a/cicecore/drivers/direct/hadgem3/CICE_InitMod.F90 +++ b/cicecore/drivers/direct/hadgem3/CICE_InitMod.F90 @@ -150,7 +150,8 @@ subroutine cice_init floe_rad_l, & ! fsd size lower bound in m (radius) floe_rad_c, & ! fsd size bin centre in m (radius) floe_binwidth, & ! fsd size bin width in m (radius) - c_fsd_range) ! string for history output + c_fsd_range, & ! string for history output + write_diags=(my_task == master_task)) ! write diag on master only call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call abort_ice(error_message="subname", & diff --git a/cicecore/drivers/mct/cesm1/CICE_InitMod.F90 b/cicecore/drivers/mct/cesm1/CICE_InitMod.F90 index 7e325e191..b5d2608a3 100644 --- a/cicecore/drivers/mct/cesm1/CICE_InitMod.F90 +++ b/cicecore/drivers/mct/cesm1/CICE_InitMod.F90 @@ -153,7 +153,8 @@ subroutine cice_init(mpicom_ice) floe_rad_l, & ! fsd size lower bound in m (radius) floe_rad_c, & ! fsd size bin centre in m (radius) floe_binwidth, & ! fsd size bin width in m (radius) - c_fsd_range) ! string for history output + c_fsd_range, & ! string for history output + write_diags=(my_task == master_task)) ! write diag on master only call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call abort_ice(error_message=subname, & diff --git a/cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90 b/cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90 index 14db24c73..cb3e7bb98 100644 --- a/cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90 +++ b/cicecore/drivers/nuopc/cmeps/CICE_InitMod.F90 @@ -153,7 +153,8 @@ subroutine cice_init(mpicom_ice) floe_rad_l, & ! fsd size lower bound in m (radius) floe_rad_c, & ! fsd size bin centre in m (radius) floe_binwidth, & ! fsd size bin width in m (radius) - c_fsd_range) ! string for history output + c_fsd_range, & ! string for history output + write_diags=(my_task == master_task)) ! write diag on master only call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call abort_ice(error_message=subname, & diff --git a/cicecore/drivers/nuopc/dmi/CICE_InitMod.F90 b/cicecore/drivers/nuopc/dmi/CICE_InitMod.F90 index bd434dd80..fd9449efd 100644 --- a/cicecore/drivers/nuopc/dmi/CICE_InitMod.F90 +++ b/cicecore/drivers/nuopc/dmi/CICE_InitMod.F90 @@ -161,7 +161,8 @@ subroutine cice_init(mpi_comm) floe_rad_l, & ! fsd size lower bound in m (radius) floe_rad_c, & ! fsd size bin centre in m (radius) floe_binwidth, & ! fsd size bin width in m (radius) - c_fsd_range) ! string for history output + c_fsd_range, & ! string for history output + write_diags=(my_task == master_task)) ! write diag on master only call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call abort_ice(error_message=subname, & diff --git a/cicecore/drivers/standalone/cice/CICE_InitMod.F90 b/cicecore/drivers/standalone/cice/CICE_InitMod.F90 index cc075f564..0b61433a3 100644 --- a/cicecore/drivers/standalone/cice/CICE_InitMod.F90 +++ b/cicecore/drivers/standalone/cice/CICE_InitMod.F90 @@ -153,7 +153,8 @@ subroutine cice_init floe_rad_l, & ! fsd size lower bound in m (radius) floe_rad_c, & ! fsd size bin centre in m (radius) floe_binwidth, & ! fsd size bin width in m (radius) - c_fsd_range) ! string for history output + c_fsd_range, & ! string for history output + write_diags=(my_task == master_task)) ! write diag on master only call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call abort_ice(error_message=subname, & diff --git a/configuration/scripts/options/set_nml.fsd1 b/configuration/scripts/options/set_nml.fsd1 index 9dd5463e5..042ed5f25 100644 --- a/configuration/scripts/options/set_nml.fsd1 +++ b/configuration/scripts/options/set_nml.fsd1 @@ -2,4 +2,4 @@ tr_fsd = .true. nfsd = 1 wave_spec_type = 'none' nfreq = 25 -ocn_data_format = 'nc' + diff --git a/configuration/scripts/options/set_nml.fsd12 b/configuration/scripts/options/set_nml.fsd12 index f9db3e9cb..620b2e96b 100644 --- a/configuration/scripts/options/set_nml.fsd12 +++ b/configuration/scripts/options/set_nml.fsd12 @@ -2,5 +2,4 @@ tr_fsd = .true. nfsd = 12 wave_spec_type = 'profile' nfreq = 25 -ocn_data_format = 'nc' -wave_spec_file = 'unknown_wave_spec_file' + diff --git a/configuration/scripts/options/set_nml.fsd12ww3 b/configuration/scripts/options/set_nml.fsd12ww3 index 7759aeff8..a8d5d06ac 100644 --- a/configuration/scripts/options/set_nml.fsd12ww3 +++ b/configuration/scripts/options/set_nml.fsd12ww3 @@ -2,5 +2,4 @@ tr_fsd = .true. nfsd = 12 wave_spec_type = 'constant' nfreq = 25 -ocn_data_format = 'nc' -wave_spec_file = 'ww3.20100101_efreq_remapgx3.nc' +wave_spec_file = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx3/ww3.20100101_efreq_remapgx3.nc' diff --git a/icepack b/icepack index 11e4ec057..edb8c3459 160000 --- a/icepack +++ b/icepack @@ -1 +1 @@ -Subproject commit 11e4ec0571ba90522c153d2fd511b6dfe338b64a +Subproject commit edb8c3459359f22af20d39d7defe97c4a8b2a419