Inquiry Regarding Shortwave Radiation Handling with ICE_MODEL in ROMS

Bug reports, work arounds and fixes

Moderators: arango, robertson

Post Reply
Message
Author
chenhj
Posts: 3
Joined: Fri Mar 29, 2024 11:56 am
Location: Sun-Yat Sen University

Inquiry Regarding Shortwave Radiation Handling with ICE_MODEL in ROMS

#1 Unread post by chenhj »

Dear ROMS Development Team,

I hope this message finds you well. I am writing to seek clarification on the appropriate handling of shortwave radiation when using the ICE_MODEL option in the latest ROMS version (cloned from GitHub on May 7, 2025).

Key Question:
Is there a possible inconsistency in shortwave radiation treatment between open water and sea ice areas?


When ICE_MODEL is defined, should downward shortwave radiation flux (as opposed to net shortwave radiation) be used to drive ROMS?

If downward shortwave radiation is used:

The net shortwave radiation flux over seawater does not appear to be calculated.

If net shortwave radiation (from atmospheric forcing files) is used:

The code may multiply it by (1 - albedo_ice) again in the ice model, potentially leading to double-accounting.


Relevant Code Sections:
In main3d.F (with BULK_FLUXES, ICE_MODEL, ALBEDO, and SHORTWAVE defined):

Code: Select all

CALL ice_albedo (...)  ! Computes albedo/albedo_ice

In bulk_flux.F:

The multiplication of shortwave radiation by (1 - albedo) for open water is commented out while the shortwave radiation for sea ice is multiplied by (1-albedo_ice).

Code: Select all

! only the albedo_ice is passed in the subroutine bulk_flux
# if defined ICE_MODEL  && defined ICE_BULK_FLUXES && \
     defined ICE_ALBEDO && defined SHORTWAVE
!!   &                     FORCES(ng) % albedo,                         &
     &                     FORCES(ng) % albedo_ice,                     &
# endif

! Shortwave  radiation for sea ice is equal to the shortwave radiation read from the forcing files
# if defined ICE_MODEL && defined ICE_BULK_FLUXES && defined ICE_THERMO
          srflx_ice(i,j)=SRad(i,j)
# endif

! calculate the net shortwave radiation for sea ice.
!
!  Short-wave radiation (W/m**2) to ice.
!
          Qsw_i=(1.0_r8-albedo_ice(i,j))*srflx_ice(i,j)

! however, the calculation of net shortwave radiation for open water is commented out
# if defined ALBEDO && defined SHORTWAVE
!!        srflx(i,j) = srflx(i,j)*(1.0_r8-albedo(i,j))
# endif


Could you kindly clarify is this a possible inconsistency in shortwave radiation treatment between open water and sea ice areas?

Any guidance would be greatly appreciated. Thank you for your time and continued contributions to the ROMS community!

Post Reply