Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#609 closed upgrade (Done)

Spatially varying Jerlov water type

Reported by: arango Owned by: arango
Priority: major Milestone: Release ROMS/TOMS 3.7
Component: Nonlinear Version: 3.7
Keywords: Cc:

Description (last modified by arango)

Added the option to have spatially varying Jerlov water types for light absorption in the water column. This is used when SOLAR_SOURCE or LMD_SKPP CPP options are activated.

A new CPP option WTYPE_GRID is introduced to activate spatially varying Jerlov water types. The ROMS internal variable Jwtype is now a floating-point variable to facilitate I/O manipulation within the metadata model. The spatially varying Jerlov water type index can be specified in two ways:

  • A variable, wtype_grid, in the ROMS GRID NetCDF file:
            double wtype_grid(eta_rho, xi_rho) ;
                    wtype_grid:long_name = "Jerlov water type index" ;
                    wtype_grid:coordinates = "lon_rho lat_rho" ;
    
  • or an analytical function in new routine ana_wtype.h, which can be activated with new CPP option ANA_WTYPE. For example, we can have an expression to set the Jerlov water type index in terms of the bathymetry to give a distribution of values between 5 (shallow; turbid water) and 1 (deep; clear water):
          fac=1.0/1000.0_r8                   ! Inverse bathymetry threshold
          DO j=JstrT,JendT
            DO i=IstrT,IendT
              Jwtype(i,j)=ANINT(5.0_r8-4.5_r8*(TANH(h(i,j)*fac)))      ! 1:5
            END DO
          END DO
    

The variable Jwtype is used in lmd_swfrac to compute the fraction of shortwave flux penetrating the water column (light absorption), modeled as a double exponential decay function in Jerlov water type. The double exponential parameters (lmd_mu1, lmd_mu2, lmd_r1) were also enhanced to add additional Jerlov coastal water types: 1, 3, 5, 7. Currently, the following Jerlow water types are supported:

   Array     Jerlov
   Index   Water Type   Examples
   -----   ----------   --------

     1         I        Open Pacific
     2         IA       Eastern Mediterranean, Indian Ocean
     3         IB       Western Mediterranean, Open Atlantic
     4         II       Coastal waters, Azores
     5         III      Coastal waters, North Sea
     6         1        Skagerrak Strait
     7         3        Baltic
     8         5        Black Sea
     9         7        Coastal waters, dark

The range of indices 1:9 are ordered by increasing absorption: from clear water (type I) to dark turbidity water (type 7). The indices correspond to the paramenters (lmd_mu1, lmd_mu2, lmd_r1) used to model the light absorption into the water column using a double exponential fitting function of (Paulson and Simpson, 1997).

The following figure shows the Jerlov's water type classification based on transmittance along 1 m of seawater:

https://www.myroms.org/trac/Jerlov_WaterTypes.png

The water type 9 was not included in the above array classification indices because its double exponential fitting parameters are not available.


I also introduced routine ana_dqdsst.h to specify the surface net heat flux sentivity to SST, d(Q)/d(SST), with analytical expressions (internal ROMS variable dqdt). This is activated with new CPP option ANA_DQDSST. It is now possible to specify the SST in a NetCDF forcing file and the d(Q)/d(SST) field with an analytical function. No longer we need both variables in the NetCDF file.

I haven't coded the function that computes d(Q)/d(SST) using the formula reported in Barnier et al. (1995). Several additional atmospheric field are required (see their equation 6b). The values for d(Q)/d(SST) can be negative or positive and has units of Watts meters-2 Celsius-1 (or internal kinematic units of m/s/Celsius).

If you are planning to use QCORRECTION in your application, I suggest you to read Barnier et al. (1995) paper first. There are some messages in the forum suggesting the summer warming trends cannot be fixed with QCORRECTION. I just tried in the Gulf of Mexico and it worked well. It is just a matter how you specify the appropriate d(Q)/d(SST) values. I usually use monthly composite SST from the NOAA CoastWatch OpenDAP catalog (http://oceanwatch.pfeg.noaa.gov/thredds/catalog.html), see product SST, Blended, Global, EXPERIMENTAL (BA/ssta/mday).

Reference:

Barnier, B., L. Siefridt, and P. Marchesiello, 1995: Thermal forcing for a global ocean circulation model using a three-year climatology of ECMWF analyses, J. Marine Systems, 6, 363-380.

Change History (2)

comment:1 by arango, 11 years ago

Resolution: Done
Status: newclosed

comment:2 by arango, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.