COSIMA / access-om3

ACCESS-OM3 global ocean-sea ice-wave coupled model
13 stars 7 forks source link

0.25 deg config with 75 vertical layers: ocean_temp_salt.res.nc regenerated? #136

Open minghangli-uni opened 7 months ago

minghangli-uni commented 7 months ago

For OM2 0.25deg with 50 vertical layers, the input file used to initialize conservative temperatures and salinities (ocean_temp_salt.res.nc) is a 3D matrix with dimensions (ZT, GRID_Y_T, GRID_X_T) of (50, 1080, 1440).

$ ncdump -h mom/ocean_temp_salt.res.nc
netcdf ocean_temp_salt.res {
dimensions:
        GRID_X_T = 1440 ;
        GRID_Y_T = 1080 ;
        ZT = 50 ;
        time = UNLIMITED ; // (1 currently)
variables:
        double GRID_X_T(GRID_X_T) ;
                GRID_X_T:long_name = "Nominal Longitude of T-cell center" ;
                GRID_X_T:units = "degree_east" ;
                GRID_X_T:modulo = 360. ;
                GRID_X_T:point_spacing = "even" ;
                GRID_X_T:axis = "X" ;
        double GRID_Y_T(GRID_Y_T) ;
                GRID_Y_T:long_name = "Nominal Latitude of T-cell center" ;
                GRID_Y_T:units = "degree_north" ;
                GRID_Y_T:point_spacing = "uneven" ;
                GRID_Y_T:axis = "Y" ;
        double ZT(ZT) ;
                ZT:long_name = "zt" ;
                ZT:units = "meters" ;
                ZT:positive = "down" ;
                ZT:point_spacing = "uneven" ;
                ZT:axis = "Z" ;
        double time(time) ;
                time:long_name = "time" ;
                time:units = "days since 0001-01-01 00:00:00" ;
                time:cartesian_axis = "T" ;
                time:calendar_type = "GREGORIAN" ;
                time:calendar = "GREGORIAN" ;
        double temp(time, ZT, GRID_Y_T, GRID_X_T) ;
                temp:_FillValue = -1.e+34 ;
                temp:missing_value = -1.e+34 ;
                temp:long_name = "conservative temperature calculated using teos10 from objectively analysed mean fields for sea_water_temperature" ;
                temp:units = "degrees celsius" ;
        double salt(time, ZT, GRID_Y_T, GRID_X_T) ;
                salt:_FillValue = -1.e+34 ;
                salt:missing_value = -1.e+34 ;
                salt:long_name = "Objectively analyzed mean fields for sea_water_salinity at standard depth levels." ;
                salt:units = "1" ;

As discussed in the namelist-discussion, our goal is to utilize 75 vertical layers. Therefore, it is necessary to regenerate ocean_temp_salt.res.nc with dimensions of (75, 1080, 1440).

I've conducted a model test with 75 layers using the existing ocean_temp_salt.res.nc. No warnings or errors were met when using the current MOM6 (OM3). A sanity check with MOM5 (OM2) with 75 layers using the existing ocean_temp_salt.res.nc resulted in failure, as expected. One potential reason for this discrepancy could be attributed to the regridding process in MOM6.

minghangli-uni commented 7 months ago

The initial conservative temperature and salinity data from the World Ocean Atlas (WOA) was generated using the scripts available at https://github.com/COSIMA/initial_conditions_access-om2/tree/master. I will look further into that.

dougiesquire commented 7 months ago

In a recent meeting, we agreed that it's okay to use the 50-level ocean_temp_salt.res.nc for now and rely on MOM6 to do the remapping to 75 levels internally.

@minghangli-uni, you mentioned you had issues with the initial_conditions_access-om2 tool. Can you please open an issue in that repo detailing the problem you had.

minghangli-uni commented 7 months ago

sure i will do it soon.

aekiss commented 2 months ago

This issue overlaps with https://github.com/COSIMA/access-om3/issues/161