Recent Releases of FMScoupler

FMScoupler - 2025.03

[2025.03] - 2025-06-24

Change

  • updated aliases for functions missed in the libfms update (#158)

Fixed

  • FULL: fixed small changes to ensure that valid surface temperature and moisture data are used for the coupled SHiELD (#153)

Tag Commit Hashes

  • 2025.03-beta1 57c2538100c20dafa421c6683af8a786eca0c45d
  • 2025.03-alpha1 ca85e563d8755ef83c2c1874519b2a111d431347

- Fortran
Published by vithikashah001 about 1 year ago

FMScoupler - 2025.02

[2025.02] - 2025-04-28

Added

  • FULL: Added calls to the added generic_exchange(gex) module which was added to FMS for this release. These modifications handle dry deposition on the land side, fix errors in ocean flux diagnositics with vmr tracers for ESM4p5, and pass fluxes between the land and atmosphehere. (#151)

Fixed

  • SIMPLE: Added initialization call for generic_exchange module (#155)
  • FULL: Add allocations to fix crashes in models that use _USE_LEGACY_LAND_ (#156)

Tag Commit Hashes

  • 2025.02-beta2 88994b1f49d5ffe40c765ee9dc69e425df3e1f3f
  • 2025.02-beta1 57c2538100c20dafa421c6683af8a786eca0c45d
  • 2025.02-alpha1 16ec1e4bfc070520cd6eeb44a6712062c122d34d

- Fortran
Published by rem1776 about 1 year ago

FMScoupler - 2025.01

[2025.01] - 2025-01-30

Added

  • FULL: Added ocean temperature and rough heat variables to land_ice_atmos_boundary to be used and populated on the exchange grid from ocean variables in sfc_boundary_layer, before running the atmos physics for shield coupling. (#143)

Tag Commit Hashes

  • 2025.01-beta1 008399dcf1a7a2d8b4733cded744d9a72ca14f10
  • 2025.01-alpha1 008399dcf1a7a2d8b4733cded744d9a72ca14f10

- Fortran
Published by rem1776 over 1 year ago

FMScoupler - 2024.03.01

[2024.03.01] - 2024-09-06

Fixed

  • FULL: Adds conditionals to bypass coupler_generate_sfc_xgrid, flux_exchange_init, and flux exchange related stock routines. (#142)

Tag Commit Hashes

  • 2024.03.01 e357d8ffc44c2808628ec7912c827d2ad41978b7

- Fortran
Published by rem1776 almost 2 years ago

FMScoupler - 2024.03

[2024.03] - 2024-08-22

Fixed

  • FULL: Removes unused FREDB related code that was causing errors with SPEAR (#137)
  • SHIELD: Fixed compile error from missing & in SHiELD coupler_main (#140)
  • FULL: Fixes crashes when the do_flux namelist flag is false by adding conditionals for calls to coupler_flux_down_from_atmos, coupler_flux_up_to_atmos and coupler_flux_atmos_to_ocean (#134)
  • SHIELD: Fixed a bug where data_override was not working correctly due to missing an argument during initialization. (#131)

Tag Commit Hashes

  • 2024.03-beta1 8dc6eff18b67ca9ab83916e2326af797818bf463

- Fortran
Published by rem1776 almost 2 years ago

FMScoupler - 2024.02

[2024.02] - 2024-07-11

Known Issues

  • SPEAR errors have been reported due to a string length being exceeded during the fredb section of the code in the full coupler before initialization. (#136)

Added

  • SIMPLE: Adds option to obtain concurrent drag and heat transfer coefficents via monin_obukhov functions. To control the new option, new namelist options have been added to the surface_flux_nml. The rough_scheme_ocean in ocean_rough_nml must be set to hwrf17 for the options to be effective. (#113)
    • do_iter_monin_obukhov controls whether to iterate over ocean with updated roughness length
    • niter_monin_obukhov controls the number of times to iterate
    • use_u10_neutral if true uses 10m neutral wind rather than the standard 10m wind to obtain rough_mom, rough_heat, and rough_moist

Changed

  • FULL: A number of changes have been made as part of a refactorization effort for the full coupler.
    • A module full_coupler_mod has been added and contains routines and imports previously included in the coupler_main.F90 file. (#104)
    • A new type, coupler_clock type, has been added to handle the usage of any clocks used in the full coupler. This will cause changes in the output order of clock statistics (#106)
    • Updates the written version number to use the version in file_version.h (#109)
    • Refactors atmos_ice_land_chksum and ocean_chksum calls into new routines in full_coupler_mod (#114)
    • Refactors flux_ocean_to_ice and flux_ice_to_ocean calls into new routines in full_coupler_mod (#117)
    • Refactors exchange updates for ice as well as setting ice surface fields and unpacking ocean ice boundary into new routines (#118)
    • Refactors ice surface exchange grid generation into a new routine (#119)
    • Adds a coupler_chksum_type used to compute checksums when do_chksum is true and adds wrapper routines for atmos_tracer_driver_gather_data and sfc_boundary_layer (#123)
    • Refactors update_atmos_model_dynamics, update_atmos_model_radiation, update_atmos_model_down, and flux_down_from_atmos into new routines (#124)
    • Refactors update_land_model_fast, update_ice_model_fast, update_atmos_model_up, flux_up_to_atmos, and update_atmos_model_state into new routines (#125)
    • Refactors unpack_land_ice_boundary, update_ice_model_slow_and_stocks, and update_ocean_model into new routines (#127)
    • Refactors routines for writing intermediate restarts and summarizing timesteps (#128)
  • SHIELD: data_override has been enabled for nest domains (#102)

Removed

  • FULL: Two variables that enabled bugged behaviour from past releases have been removed, ex_u_star_smooth_bug and sw1way_bug. (#99)

Tag Commit Hashes

  • 2024.02-alpha1 eda97dd590c7c83f3664fbbacf22a76f3234251d
  • 2024.02-alpha2 2b59f6d4e52e1c7c50f6fba09918f4a0b4ad5741
  • 2024.02-beta1 2a51893473d84a106e95da33e0f05225ca49a3db
  • 2024.02-beta2 0b2c91402236e49d586dd5151c98d329e97f9e57

- Fortran
Published by rem1776 about 2 years ago

FMScoupler - 2023.04.01

[2023.04.01] - 2024-06-20

Fixed

  • SIMPLE COUPLER: Fixed issue where the anom_sst value used was not the correct value read in from the namelist. (#122)

Tag Commit Hashes

  • 2023.04.01 6b4f8b5207483eb7a7839a29909a415253a05db8

- Fortran
Published by rem1776 about 2 years ago

FMScoupler - 2024.01

[2024.01] - 2024-05-03

Added

  • Adds option to run SHiELD with a gregorian calender (#105)
  • Adds a diag_send_complete call for FMS diag_manager rewrite(#101)
  • Adds documentation for the exchange grid (#98)

Tag Commit Hashes

  • 2024.01-alpha1 6442d387153064644325c96a5e9e2935139d5e3c
  • 2024.01-alpha2 6442d387153064644325c96a5e9e2935139d5e3c
  • 2024.01-alpha3 f4782c2c033df086eeac29fbbefb4a0bdac1649f
  • 2024.01-beta1 f4782c2c033df086eeac29fbbefb4a0bdac1649f
  • 2024.01-beta2 f4782c2c033df086eeac29fbbefb4a0bdac1649f
  • 2024.01-beta3 d15c35a92ac4f04c57c539eaa56301c8f70d53cf
  • 2024.01-alpha4 d15c35a92ac4f04c57c539eaa56301c8f70d53cf
  • 2024.01-alpha5 d15c35a92ac4f04c57c539eaa56301c8f70d53cf
  • 2024.01-alpha6 4dc9b0f2a85d34b0fdc8477625b91794a77ac747
  • 2024.01-beta4 4dc9b0f2a85d34b0fdc8477625b91794a77ac747
  • 2024.01-beta5 4dc9b0f2a85d34b0fdc8477625b91794a77ac747

- Fortran
Published by rem1776 about 2 years ago

FMScoupler - 2023.04

[2023.04] - 2023-12-04

Added

  • Adds additional output arguments thv_atm amd thv_surf to the surface_flux interface, as well as calls to xgrid and send data in order to use a new atmosphere boundary layer scheme.

Changed

  • Routines using the data argument name explicictly have been updated to match corresponding FMS updates

Tag Commit Hashes

2023.04-beta1 93ce3642a7951eb11d7d39441911717923dfc768

- Fortran
Published by rem1776 over 2 years ago

FMScoupler - 2023.03

No code changes were made to the coupler this release cycle, just tagging current main to be used alongside the corresponding FMS release.

- Fortran
Published by rem1776 over 2 years ago

FMScoupler - 2023.02

[2023.02] - 2023-07-28

Fixed

  • SHARED: Fixes crashes due to uninitialized namelist variables.

Changed

  • Routines/variables from FMS have been updated to include a prefixes containing fms and the subdirectory/module name. This was necessitated by aliases being added to the 'global' libFMS.F90 module in FMS.
  • FULL: Adds logic for PE assignment in order to allow for a data atmosphere to be used alongside the combined ice-ocean driver.

Removed

  • Usage of fmsio and mppio has been deprecated. If using these modules in a model, you must compile both FMS and FMScoupler with the -Dusedeprecatedio CPP flag.

Tag Commit Hashes

2023.02-alpha1 9da2d61f74671ccee775553a36439260c9241383 2023.02-alpha2 9da2d61f74671ccee775553a36439260c9241383 2023.02-alpha3 4ca21a7f3dc3649f934ad7b34e1a61b63e589712 2023.02-beta1 78c438457cd49a82f6eaec2d57638ffc5084c688

- Fortran
Published by rem1776 almost 3 years ago

FMScoupler - 2023.01

[2023.01] - 2023-04-03

Fixed

  • Fixed IO domain related failures coming from ice model for the null model test ### Added
  • Added clock optimizations to the SHiELD coupler

Tag Commit Hashes

2023.01-alpha1 7c47be33b4049a96bbce3d9b4cc165dbb147e751 2023.01-alpha2 7c47be33b4049a96bbce3d9b4cc165dbb147e751 2023.01-alpha3 7c47be33b4049a96bbce3d9b4cc165dbb147e751 2023.01-alpha4 7c47be33b4049a96bbce3d9b4cc165dbb147e751 2023.01-beta1 2571fc016866898255559355b92347cd354082ce 2023.01-beta2 2571fc016866898255559355b92347cd354082ce 2023.01-beta3 2571fc016866898255559355b92347cd354082ce 2023.01-beta4 2571fc016866898255559355b92347cd354082ce 2023.01-beta5 2571fc016866898255559355b92347cd354082ce

- Fortran
Published by rem1776 over 3 years ago

FMScoupler - 2022.04

[2022.04] - 2022-10-13

No changes for the coupler this release cycle, just releasing this to be used with the corresponding FMS release.

- Fortran
Published by rem1776 almost 4 years ago

FMScoupler - 2022.03

[2022.03] - 2022-08-01

Added

  • Added doxygen comments for the simple and shield couplers, and general layout improvements for the generated site. It is now updated upon releases and hosted at noaa-gfdl.github.io/FMScoupler

Tag Commit Hashes

2022.03-alpha1 c12af876d4baef20346db8391422b6b6df209c75 2022.03-beta1 6d4d2b3dce8152400c8c15551763835689de8ddb

- Fortran
Published by rem1776 almost 4 years ago

FMScoupler - 2022.02

[2022.02] - 2022-04-29

Removed

  • Removes grid code and variables from SHiELD/couplermain and fixes dataoverride_init
  • Removes outdated logic in simple coupler for dataoverrideinit parsing ### Changed
  • Changes routine names used for constants in order to compile with recent constants changes to FMS ### Fixed
  • FULL: Replaced a deprecated OpenMP routine causing warnings
  • SIMPLE: Fixed a missing variable allocation that was causing failures with certain compilers

Tag Commit Hashes

2022.02-alpha1 de3e3cbca349021a545a500f5ba1af6af22acfae 2022.02-alpha2 c23b6f3ff1f902adf1fa43f8a5c9d2307bd01106 2022.02-beta1 2bb8f35e2f579e738b58c610c35ca9afd7e36358

- Fortran
Published by rem1776 about 4 years ago

FMScoupler - 2022.01

[2022.01] - 2022-03-25

Added

  • Added SHiELD main driver program to the repository
  • Added some additional information on the coupler to the readme

Tag Commit Hashes

  • 2022.01-alpha1 4707b255c842dd08b3cd65a45b7924e7a9d88720
  • 2022.01-beta1 4707b255c842dd08b3cd65a45b7924e7a9d88720
  • 2022.01-alpha2 7790c5d8e243eb97f3fa87f15546dadc6d963ed1
  • 2022.01-beta2 c9f405a2383451550b9a8aaa8279a2a973d65c90

- Fortran
Published by rem1776 over 4 years ago

FMScoupler - 2021.04

[2021.04] - 2021-12-23

  • No changes to coupler this release cycle, just tagging to coincide with the corresponding FMS release.

- Fortran
Published by rem1776 over 4 years ago

FMScoupler - 2021.03

[2021.03] - 2021-08-16

Fixed

  • In the full coupler, corrects a get_variable_size call to prevent crashes when running with the SCM ### Tag Commit Hashes
  • 2021.03-alpha1 b22156d27c209d3adac35175c98b66805ab3340c
  • 2021.03-beta1 b22156d27c209d3adac35175c98b66805ab3340c

- Fortran
Published by rem1776 almost 5 years ago

FMScoupler - 2021.02.01

[2021.02.01] - 2021-07-09

Fixed

  • In the full coupler, corrects a get_variable_size call to prevent crashes when running with the SCM

- Fortran
Published by rem1776 about 5 years ago

FMScoupler - 2021.02

[2021.02] - 2021-05-20

Added

  • FMS2IO was implemented to the full coupler: - The coupler restart files are now read with fms2io's asciiread - Ascii writes are now done with fortran's open, close, and write. They are wrapped in an if, so that only the root pe does the io, newunit ensures that the unit number is unique for each file. - The variables named unit have been renamed to avoid fortran conflicts. - The coupler type restarts are now written with fms2io. - The grid file is now read with fms2io in: full/fluxexchange.F90:checkatmgrid
  • FMS2IO was implemented to the simple coupler: - Changed icemodel.F90 so that it reads the landmask files and it reads/writes the ice restart with fms2io. - Removed the native formatted restart file code - Fms2io asciiread is used to read to the couplerrestart - Fotran's open, close, and write are used to write the couplerrestart - Removed the readgriddata and getgridsize subroutines from simple/icemodel.F90. These are never used.
  • Test cases added for varying the latitude of SST maximum in the simple coupler ice model. ### Changed
  • Changes all imports from FMS to use the global FMS module and the FMSconstants module
  • Changes to the ice_model restart files:
    • With fmsio, the variables mlon and mlat are written as:
      `double mlon(Time, zaxis
      1, yaxis1, xaxis1) ;<br> double mlat(Time, zaxis1, yaxis1, xaxis1) ;<br> where:<br> xaxis1 = 1 ;<br> yaxis1 = 1 ;<br> zaxis1 = 1 ;<br> Time = UNLIMITED ; // (1 currently)`
    • fmsio wrote this as 4d variables as default. In FMS2io these variables are scalars as they should be. With fmsio, the other non scalar variables where written as:
      `double t
      surf(Time, zaxis1, yaxis2, xaxis2) ;<br> where:<br> zaxis1 = 1 ;`
    • In FMS2io these variables are not a function of the zaxis1. They are 2d + time as they should be.
      double t_surf(Time, yaxis_1, xaxis_1) ;
      With fmsio, the variables attributes:
      `long
      name = {The same name as the longname}<br> units = "none"`
      were written by default.
    • FMS2io does not do this. Users can specify real longnames and units by calling registervariableattribute. ### Removed
  • FMSio was almost completely removed from FMScoupler and replaced with fms2io. ### Tag Commit Hashes
  • 2021.02-alpha1 (c1c8044a6c3efb8ddbbd01a3769bbf2610b34937)
  • 2021.02-alpha2 (c1c8044a6c3efb8ddbbd01a3769bbf2610b34937)
  • 2021.02-beta1 (62415ea3a62145080efcfe078eb889d6adf681a1)
  • 2021.02-beta2 (62415ea3a62145080efcfe078eb889d6adf681a1)

- Fortran
Published by rem1776 about 5 years ago

FMScoupler - 2021.01

[2021.01] - 2021-03-08

Added

  • SURFACE_FLUX: Adds a new functionality to enable using NCAR surface fluxes in experiments

Fixed

  • SIMPLECOUPLER: Fixed issue with simpler coupler not calling dataoverrideinit during initialization, will now call if the datatable file exists

Tag Commit Hashes

  • 2021.01-beta1 (7e7212c6db62aa7916af0f6ada59c5a83355c1b8)
  • 2021.01-alpha2 (4c2de8d2210f77cff38b7ecd8d2c06e7333a0d9e)
  • 2021.01-alpha1 (36ed0f9cbe6d158f5205c418394f6539e0435237)

- Fortran
Published by rem1776 over 5 years ago

FMScoupler - 2020.04

This release has the same code as 2020.03.

- Fortran
Published by thomas-robinson over 5 years ago

FMScoupler - 2020.03

Added

COUPLER_MAIN

  • Adds support for gregorian calenders

Removed

ATMLANDICEFLUXEXCHANGE

  • Removed deprecated calls for creating and setting up Ice%oceanfluxestop

- Fortran
Published by thomas-robinson almost 6 years ago

FMScoupler - Patch release version 2019.01.02

The public interface diagaxisinit has changed in 2020.02 (fms2 work). One optional argument is added. However this optional argument is required for the "corner" diagnostics to work. MOM6/SIS2 developers requsted an interim FMS "release" with just this interface change so that they can use it to make changes to their dev/gfdl branch that uses the new interface without actually using fms2 diag_manager. This update is an attempt to address that request.

- Fortran
Published by colingladueNOAA about 6 years ago

FMScoupler - Version 2020.02

[2020.02] - 2020-05-01

Fixed

  • ATMOSOCEANFLUXESCALC: Fixes divby_zero error in debug when the ocean gas concentration is zero (e.g. over land points). An epsilon value (1e30) is substituted at points that have zero gas concentration.

- Fortran
Published by colingladueNOAA about 6 years ago

FMScoupler - Version 2020.01

What's new in version 2020.01

  • Adds updated test cases to the simple ice model for varying SST maximum lattitude

- Fortran
Published by thomas-robinson over 6 years ago

FMScoupler - Version 2019.01.01

Patch release 2019.01.01

Revert the default use of quad precision in NOAA-GFDL/FMS to pre-2019.01 behavior. To enable quad precision, the preprocessor macro ENABLE_QUAD_PRECISION must be defined at compile time. Defining ENABLEQUADPRECISION will #undef NO_QUAD_PRECISION in platform.h.

- Fortran
Published by underwoo over 6 years ago

FMScoupler - Version 2019.01

What's new in version 2019.01

  • switch from "city" versioning style to yyyy.<2_digit_version_number>.<2-digit-patch number> style
  • main development branch is master instead of dev/master
  • updated affinity placement to use new FMS API
  • simple coupler is added to this repository. If using the full coupler, only include full/ and shared/

- Fortran
Published by wrongkindofdoctor over 6 years ago