New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#1798 (namtsd and namsbc_ssr blocks can't read weight files with the same name) – NEMO

Opened 7 years ago

Closed 7 years ago

#1798 closed Bug (wontfix)

namtsd and namsbc_ssr blocks can't read weight files with the same name

Reported by: fmasson Owned by: nemo
Priority: low Milestone:
Component: OCE Version: v3.6
Severity: Keywords:
Cc:

Description

Hello everyone,

I would like to receive your help on the following very puzzling issue.

Context

I am running stand-alone ORCA1L75_LIM3 configuration (ShacoNemo? files), with code from nemo_v3_6_STABLE@7213.

  1. I am starting the NEMO integration from a climatological T&S, and I am using the on-the-fly interpolation of NEMO to read those initial files. This requires weights, that I have produced successfully.
  1. Besides, I want to restore the model to some SSS climatology - in fact, to the the first layer of the salinity file used as initial condition. I am also using the on-the-fly facility of NEMO. The same weights as in 1. are required because the native and destination grids are the same.

Analysis

The namelist block for initialization (namtsd) and for SSS restoring (namsbc_ssr) both require the specification of weights to interpolate from the regular grid of the input data to the ORCA1 grid.

The problem is:

  • If the same weight file name is written in the two blocks, the model crashes
!-----------------------------------------------------------------------
&namtsd    !   data : Temperature  & Salinity
!-----------------------------------------------------------------------
!          !  file name    ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
!          !               ! (if <0  months)   !  name     ! (logical)    !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
   sn_tem  = 'temperature' ,         -1        , 'votemper'  ,   .true.     , .true. , 'yearly'  , 'weight_test.nc'       ,   ''     ,    ''
   sn_sal  = 'salinity'    ,         -1        , 'vosaline'  ,   .true.     , .true. , 'yearly'  , 'weight_test.nc'       ,   ''     ,    ''


...

!-----------------------------------------------------------------------
&namsbc_ssr    !   surface boundary condition : sea surface restoring
!-----------------------------------------------------------------------
   !             !filename      !freq  !variable name           !time    ! clim    ! year or    ! weights filename                   !rot
   !             !              !      !                        !interp  !         ! monthly    !                                    !pair
   !----------------------------------------------------------------------------------------------------------------------------------------
   sn_sst      = 'sst_1m'       , -1.  , 'votemper'             , .false., .false. , 'yearly'   , ''                                 , '' , ''
   sn_sss      = 'sss_1m'       , -1.  , 'vosaline'             , .true. , .true.  , 'yearly'   , 'weight_test.nc'                   , '' , ''


will produce:

 ===>>> : E R R O R
         ===========

           iom_get_123d, file: ./sss_1m.nc, var: vosaline
 The file has only 2 spatial dimension
 it is impossible to read a 3D array from this file...

  • However, if I duplicate my file of weights:
    cp weight_test.nc weight_test2.nc
    

or even create a symbolic link

ln -sf weight_test.nc weight_test2.nc

then everything run fines:

!-----------------------------------------------------------------------
&namtsd    !   data : Temperature  & Salinity
!-----------------------------------------------------------------------
!          !  file name    ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation ! land/sea mask !
!          !               ! (if <0  months)   !  name     ! (logical)    !  (T/F) ! 'monthly' ! filename ! pairing  ! filename      !
   sn_tem  = 'temperature' ,         -1        , 'votemper'  ,   .true.     , .true. , 'yearly'  , 'weight_test.nc'       ,   ''     ,    ''
   sn_sal  = 'salinity'    ,         -1        , 'vosaline'  ,   .true.     , .true. , 'yearly'  , 'weight_test.nc'       ,   ''     ,    ''


...

!-----------------------------------------------------------------------
&namsbc_ssr    !   surface boundary condition : sea surface restoring
!-----------------------------------------------------------------------
   !             !filename      !freq  !variable name           !time    ! clim    ! year or    ! weights filename                   !rot
   !             !              !      !                        !interp  !         ! monthly    !                                    !pair
   !----------------------------------------------------------------------------------------------------------------------------------------
   sn_sst      = 'sst_1m'       , -1.  , 'votemper'             , .false., .false. , 'yearly'   , ''                                 , '' , ''
   sn_sss      = 'sss_1m'       , -1.  , 'vosaline'             , .true. , .true.  , 'yearly'   , 'weight_test2.nc'                   , '' , ''


Fix

My understanding is that the same weight file name cannot be used in both the namtsd and namtsbc_ssr blocks. The problem does not seem to be linked to the fact that the same file is read by different routines, because making a link solves the issue.

Any help is appreciated. For now, I can make sure to use different names.

Commit History (0)

(No commits)

Change History (1)

comment:1 Changed 7 years ago by clevy

  • Resolution set to wontfix
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.