which option can I use for vertical mixing in adjoint model?

Discussion about tangent linear and adjoint models, variational data assimilation, and other related issues.

Moderators: arango, robertson

Post Reply
Message
Author
wiltonwang

which option can I use for vertical mixing in adjoint model?

#1 Unread post by wiltonwang »

In checkadj.F, I found that all of the options for vertical mixing (BVF, GLS, MY25 and LMD) were unsupported in adjoint model. Since I want to study tide and tide induced mxing using ROMS(with data assimilation), what kind of method can I use for vertical mixing scheme?
thanks a lot.

mathieu

Re: which option can I use for vertical mixing in adjoint model?

#2 Unread post by mathieu »

One possibility that you have is to select the option ANA_VMIX. You then have to edit ana_vmix.h to put the values of Akt, Akv that you want to use.

User avatar
arango
Site Admin
Posts: 1361
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: which option can I use for vertical mixing in adjoint model?

#3 Unread post by arango »

You can use any of the available vertical mixing parameterizations in ROMS. These mixing parameterization are not differentiable (in the variational sense) and highly nonlinear. Therefore, no attempt was made to have the tangent linear and adjoint versions of these algorithms because they maybe unstable after the linearization. The strategy is to add the vertical mixing in nonlinear basic state (background trajectory) upon which the tangent liner and adjoint model trajectories are linearized. You need to activate FORWARD_MIXING and the appropriate nonlinear model flags for vertical mixing (LMD_MIXING, GLS_MIXING or MY25_MIXING). This works very well for us.

wiltonwang

Re: which option can I use for vertical mixing in adjoint model?

#4 Unread post by wiltonwang »

I will try it.
thanks

mathieu

Re: which option can I use for vertical mixing in adjoint model?

#5 Unread post by mathieu »

Would it be possible to have a similar option FORWARD_BULKFLUXES for the variables shflux, ssflux, sustr and svstr?

wiltonwang

Re: which option can I use for vertical mixing in adjoint model?

#6 Unread post by wiltonwang »

In cppdefs.h, we can find FORWARD_MIXING,FORWARD_WRITE,FORWARD_READ and FORWARD_RHS.
Should all of these options be defined when we run 4dvar model?

zhang
Posts: 27
Joined: Fri Mar 11, 2005 9:17 pm
Location: Woods Hole Oceanographic Institution

Re: which option can I use for vertical mixing in adjoint model?

#7 Unread post by zhang »

We don't need FORWARD_BULKFLUX. Yes, the linearization of bulk flux is problematic. The way to get around that is to save the surface tracer and momentum fluxes in the forward nonlinear simulation (remember to save the shortwaver radiation separately). The ROMS adjoint and tangent linear models will then read in these surface fluxes automatically, instead of linearing the bulk flux formula. The logic of this is similar to the FORWARD_MIXING.

If a forward nonlinear model is going to be used as the base state for tangent linear and adjoint models, FORWARD_WRITE should be turned on to write the 2D-3D coupling terms (DU_avg1, DU_avg2, DV_avg1, and DV_avg2) into the history or average files. And the FORWARD_READ should be turned on in the corresponding tangent linear and adjoint model to read in those coupling terms. In a 4dvar application, FORWARD_WRITE and FORWARD_READ should be on at the same time since the 4dvar system uses all nonlinear, tangent linear and adjoint component models.

I am not sure in what circumstances we need FORWARD_RHS.

Post Reply