Opened 8 years ago
Closed 6 years ago
#1688 closed Task (fixed)
Missing diagnostics for CMIP6
Reported by: | timgraham | Owned by: | shaconemo |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | OCE | Version: | v3.6 |
Severity: | Keywords: | ||
Cc: |
Description
Description
As discussed in the ST video conference last week I think there are some diagnostics missing from nemo_v3_6_STABLE that are required for CMPI6
Analysis
After looking through the OMIP requirements document I think the following are missing:
1) Correct definitions of basins as described in section 4.6 of the document
2) Dynamic SSH (I think we could do this in XIOS).
3) Area averaged SST & SSS (This would be very easy but I can't see it in the code anywhere)
4) Squared ocean buoyancy frequency (just requires an extra iom_put call).
5) Quasi-barotropic streamfunction
6) Meridional depth-mass and depth-density streamfunction for each of Indo-Pacific, Atlantic-Arctic and Global Ocean. Ideally these should be done using zig-zag lines along the grid to approximate lines of latitude as well as calculating it on the native grid.
7) As for number 6 from sub-gridscale processes
8) Heat & Salt transports from Gyres, Overturning, mesoscale ddvection, diffusion for each basin
9) Mass transports through straits?
10) Trend diagnostics to be converted to W/m2 using XIOS.
11) Rate of work against stratification
12) EKE from mesoscale parameterization
Recommendation
I'm happy to be corrected if these are in the code already.
Commit History (1)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
6550 | cetlod | 2016-05-18T12:39:58+02:00 | Add an ideal tracer age as a permanent module in TOP, see ticket #1688 |
Change History (11)
comment:1 Changed 8 years ago by timgraham
comment:2 Changed 8 years ago by timgraham
Branch created for these:
https://forge.ipsl.jussieu.fr/nemo/browser/branches/UKMO/v3_6_extra_CMIP6_diagnostics
Heat transports from advection and diffusion for each basin added to branch at r6433
comment:3 Changed 8 years ago by timgraham
Added dynamic SSH and squared buoyancy frequency at r6435.
comment:4 Changed 8 years ago by timgraham
Correction for dynamic SSH at r6437
comment:5 Changed 8 years ago by timgraham
An update on progress with this:
I have been focussing on preparing diagnostics for HighResMIP as we plan to run this very soon. At r6535 of my branch I added the following:
- vertical integral of zonal mass transport added in diawri. This can be used offline to calculate the quasi-barotropic streamfunction.
- Added a function to iom.F90 to automatically choose an ocean point for the 1_point group to output scalars in XIOS
- Added the heat flux from runoff into sbccpl (this was already in field_def so perhaps it was accidentally deleted?)
- Corrections to units, long names and standard_names in field_def.xml
I'm currently testing code from Andrew for an ideal age tracer. This is being added in the MY_TRC module. Do we want to add this as a permanent module instead of putting it in MY_TRC?
At the Met Office we don't think we will be able to calculate overturning, heat and salt transports as true northward transports in time so we will probably just do these on the native grid unless anyone else has time to write the code for this.
comment:6 Changed 8 years ago by lovato
Just a note on the heat flux from runoff.
The output of this term was already reinstated in both nemo3.6_stable and trunk as described in ticket #1650.
I think it could be useful to save also the geothermal heat flux
in order to have all data needed for the Boundary heat fluxes computations in one place,
This is appears to me needed also because in the shaconemo configuration
this forcing is being interpolated on the fly from the regular grid dataset.
According to the OMIP protocol, the variable should be
CMOR name: hfgeou
CF name :upward_geothermal_heat_flux_at_sea_floor,
units: W/m2
In addition it is possible to get rid of the lbc_lnk call in the trabbc routine by changing the loop indexes,
as proposed in the following
! ! Add the geothermal heat flux trend on temperature - DO jj = 2, jpjm1 - DO ji = 2, jpim1 + DO jj = 1, jpj + DO ji = 1, jpi ik = mbkt(ji,jj) zqgh_trd = qgh_trd0(ji,jj) / fse3t(ji,jj,ik) tsa(ji,jj,ik,jp_tem) = tsa(ji,jj,ik,jp_tem) + zqgh_trd END DO END DO ! - CALL lbc_lnk( tsa(:,:,:,jp_tem) , 'T', 1. ) - ! IF( l_trdtra ) THEN ! Save the geothermal heat flux trend for diagnostics ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) CALL trd_tra( kt, 'TRA', jp_tem, jptra_bbc, ztrdt ) CALL wrk_dealloc( jpi, jpj, jpk, ztrdt ) ENDIF ! + IF( iom_use('hfgeou') ) CALL iom_put( 'hfgeou', qgh_trd0 ) + ! IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' bbc - Ta: ', mask1=tmask, clinfo3='tra-ta' ) ! IF( nn_timing == 1 ) CALL timing_stop('tra_bbc')
comment:7 Changed 8 years ago by cetlod
For the age tracer, the best is to create a new sub-directory in TOP_SRC and leave MY_TRC as it is now to mimic a tracer unit vector useful to check conservation.
In addition we also have an age tracer develop by George Nurser. I've planned to put it in the system for the next release, but I can do the job for the 3.6 stable ; maybe in the v3_6_extra_CMIP6_diagnostics branch ?
comment:8 Changed 8 years ago by timgraham
Thanks Dorotea & Christian.
Dorotea: I agree it would be good to be able to output the geothermal heat flux from the model (even if we only do it once for all of our model runs).
Christian: I think we probably have the same code for the age tracer. If you have time to add it in as a new directory in v3_6_extra_CMIP6_diagnostics then that would be really helpful.
comment:9 Changed 7 years ago by lovato
I guess much of this activity now moved to the shaconemo repository in preparation to CMIP6.
If the tracking of issues trough this ticket got superseded by the activity on the parallel repository,
I would suggest to close the ticket and provide indication on where to find the development follow-up.
Finally, I see as a good practice that changes made in shaconemo should be back-ported
into the v3.6_stable branch to maintain a clean history of the code development
(maybe also by renaming key_diaar5 to key_diaar6!)
comment:10 Changed 7 years ago by clevy
- Owner changed from nemo to shaconemo
- Type changed from Defect to Task
comment:11 Changed 6 years ago by timgraham
- Resolution set to fixed
- Status changed from new to closed
Most of the work in this ticket was merged into nemo_v3_6_STABLE and the trunk at the last merge party. There is some ongoing work continuing on the shaconemo repository.
A couple of extra diagnostics that I missed:
13) Ideal age tracer
14) Heat flux in x direction and y direction as 3D fields (we have model code to do this and could add it to nemo_v3_6_STABLE if required.