diff --git a/.travis.yml b/.travis.yml index 9431185a5..bb8dd37b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,12 +20,12 @@ addons: install: # Fetch CICE grid files and initial conditions - - "wget ftp://ftp.cgd.ucar.edu/archive/Model-Data/CICE/CICE_data_ic_grid.tar.gz && - tar xvfz CICE_data_ic_grid.tar.gz -C ~" + - "wget https://zenodo.org/record/3728358/files/CICE_data_gx3_grid_ic-20200320.tar.gz && + tar xvfz CICE_data_gx3_grid_ic-20200320.tar.gz -C ~" # Fetch forcing data - - "wget ftp://ftp.cgd.ucar.edu/archive/Model-Data/CICE/CICE_data_forcing_gx3_all.tar.gz && - tar xvfz CICE_data_forcing_gx3_all.tar.gz -C ~" + - "wget https://zenodo.org/record/3728362/files/CICE_data_gx3_forcing_NCAR_bulk-20200320.tar.gz && + tar xvfz CICE_data_gx3_forcing_NCAR_bulk-20200320.tar.gz -C ~" # Mirror entire data folder #- "lftp ftp://anonymous:travis@travis-ci.org@ftp.cgd.ucar.edu diff --git a/.zenodo.json b/.zenodo.json index 6eb59f0d5..6a3217023 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -31,10 +31,6 @@ "affiliation": "Environment and Climate Change Canada", "name": "Philippe Blain" }, - { - "affiliation": "Environment and Climate Change Canada", - "name": "Amelie Bouchat" - }, { "affiliation": "National Oceanographic and Atmospheric Administration (CTR)", "name": "Anthony Craig" @@ -67,6 +63,10 @@ "affiliation": "Environment and Climate Change Canada", "name": "Jean-Francois Lemieux" }, + { + "affiliation": "Institute of Oceanology, Polish Academy of Sciences", + "name": "Robert Osinski" + }, { "affiliation": "Danish Meteorological Institute", "name": "Till Rasmussen" @@ -99,4 +99,4 @@ "relation": "isNewVersionOf" } ] -} \ No newline at end of file +} 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/machines/Macros.conda_linux b/configuration/scripts/machines/Macros.conda_linux index 59a6632d8..32c5ae012 100644 --- a/configuration/scripts/machines/Macros.conda_linux +++ b/configuration/scripts/machines/Macros.conda_linux @@ -40,7 +40,7 @@ LD:= $(FC) MODDIR += -I$(CONDA_PREFIX)/include # Libraries to be passed to the linker -SLIBS := -lnetcdf -lnetcdff +SLIBS := -L$(CONDA_PREFIX)/lib -lnetcdf -lnetcdff # Necessary flag to compile with OpenMP support ifeq ($(ICE_THREADED), true) diff --git a/configuration/scripts/machines/Macros.conda_macos b/configuration/scripts/machines/Macros.conda_macos index beff37b6c..0d866d9a2 100644 --- a/configuration/scripts/machines/Macros.conda_macos +++ b/configuration/scripts/machines/Macros.conda_macos @@ -40,10 +40,15 @@ LD:= $(FC) MODDIR += -I$(CONDA_PREFIX)/include # Location of the system C header files (required on recent macOS to compile makdep) -CFLAGS_HOST = -isysroot$(shell xcrun --show-sdk-path) +SDKPATH = $(shell xcrun --show-sdk-path) +ifeq ($(strip $(SDKPATH)),) + CFLAGS_HOST := +else + CFLAGS_HOST = -isysroot $(SDKPATH) +endif # Libraries to be passed to the linker -SLIBS := -lnetcdf -lnetcdff +SLIBS := -L$(CONDA_PREFIX)/lib -lnetcdf -lnetcdff # Necessary flag to compile with OpenMP support ifeq ($(ICE_THREADED), true) diff --git a/configuration/scripts/machines/env.cori_intel b/configuration/scripts/machines/env.cori_intel index 703177ef7..bd66b4313 100755 --- a/configuration/scripts/machines/env.cori_intel +++ b/configuration/scripts/machines/env.cori_intel @@ -29,12 +29,12 @@ module unload cray-hdf5-parallel module unload cray-netcdf module unload cray-netcdf-hdf5parallel module unload cray-parallel-netcdf -module load cray-netcdf/4.6.1.3 +module load cray-netcdf/4.6.3.2 module unload cray-libsci module unload craype -module load craype/2.5.18 +module load craype/2.6.2 setenv NETCDF_PATH ${NETCDF_DIR} setenv OMP_PROC_BIND true 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/doc/source/user_guide/ug_running.rst b/doc/source/user_guide/ug_running.rst index 30e53f6ab..7d7907998 100644 --- a/doc/source/user_guide/ug_running.rst +++ b/doc/source/user_guide/ug_running.rst @@ -671,7 +671,7 @@ If you prefer that some or all of the CICE directories be located somewhere else Note: if you wish, you can also create a complete machine port for your computer by leveraging the conda configuration as a starting point. See :ref:`porting`. -Next, create the "cice" conda environment from the ``environment.yml`` file: +Next, create the "cice" conda environment from the ``environment.yml`` file in the CICE source code repository. You will need to clone CICE to run the following command: .. code-block:: bash diff --git a/icepack b/icepack index 6a6bb3fe6..edb8c3459 160000 --- a/icepack +++ b/icepack @@ -1 +1 @@ -Subproject commit 6a6bb3fe62b80727e9b31145dcaf1bf224a359ef +Subproject commit edb8c3459359f22af20d39d7defe97c4a8b2a419