[MITgcm-support] On the calculation of the volume conservation from the output of a regional model
Jean-Michel Campin
jmc at mit.edu
Thu Jun 15 11:51:06 EDT 2017
Hi Chengyan,
As I understand, you are trying to check the volume budget of a single
column, computing the convergence of the vertically integrated volume transport.
Your calculation seems good to me, and the results should match
the expected volume changes:
1) if using rigidLid=T, "volume_residual" is expected to be very small
(depending on how well the 2-D solver (cg2d) converges.
2) otherwise (implicitFreeSurface=T, i.e., the default)
"volume_residual" should match the variation of SSH (ETAN*rAc).
You can expect exact matching (down to machine precision) if you
use exactConserv=T ; otherwise the precision is again up to
the 2-D solver convergence.
3) the equation you wrote for volume_residual is the one that the model
uses (to get d/dt(eta)) but if you are using nonlinFreeSurf > 0,
hFacW and hFacS vary with time (as function of Eta) whereas the one that
are written as part of the grid files correspond to eta==0 everywhere
(unperturbed resting state).
In this case (nonlinFreeSurf > 0) it's easier to use diagnostics of
the 2 product: uVel*hFacW and vVel*hFacS (diagnostics: UVELMASS & VVELMASS,
pkg/timeave: hUtave, hVtave files) which are computed using the correct
hFacW and hFacS.
Cheers,
Jean-Michel
On Wed, Jun 14, 2017 at 05:31:28AM +0800, whale wrote:
> Dear friends,
>
>
>
> Recently, I was a little confused on the calculation of the volume budget. Let me explain what I want to calculate.
>
>
>
> First, the grid in my model configuration is as simple as follows,
>
>
>
> # Gridding parameters
>
> &PARM04
>
> usingSphericalPolarGrid=.TRUE.,
>
> delX=640*0.047,
>
> delY=640*0.0141,
>
> ygOrigin=-74,
>
> xgOrigin=60,
>
> delR = 10.0, 10.0, 10.0, 10.0, 15.0, 15.0, 15.0, 15.0, 15.0,
>
> 20.0, 20.0, 20.0, 20.0, 20.0, 25.0, 25.0, 25.0, 25.0, 25.0,
>
> 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
>
> 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0,
>
> 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0, 35.0, 40.0, 45.0,
>
> 50.0, 55.0, 60.0, 70.0, 80.0, 90.0, 100.0, 110.0, 120.0, 130.0,
>
> 140.0, 155.0, 170.0, 185.0, 200.0, 215.0, 250.0, 250.0, 300.0, 450.0, 450.0,
>
> &
>
>
>
> So, my grid resolution is 640*640*70, a simple cube.
>
>
>
> What I am trying to do is to calculate the volume transport in a specified region or to check if the volume is conservative.
>
> In order to understand how the model velocity fields control the volume balance, I have chosen a single water column (e.g., x=200, y=500, z=1:70) to make a preliminarily assessment. After several tests, I found an equation as follows,
>
>
>
> volume_residual =
>
> ( u(x,y,:)*DRF(:)*DYG(x,y)*hFacW(x,y,:) - u(x+1,y,:) *DRF(:)*DYG(x+1,y)*hFacW(x+1,y,:) ) +
>
> ( v(x,y,:)*DRF(k)*DXG(x,y)*hFacS(x,y,:) - v(x,y+1,:)* DRF(:)*DXG(x,y+1)*hFacS(x,y+1,:) )
>
>
>
> Note that DRF, DXG, DYG, hFacW and hFacS are derived from the grid files.
>
> If my understanding is right, in the equation,
>
> u(x,y,:)*DRF(:)*DYG(x,y)*hFacW(x,y,:) denotes the volume transport at the western face of the cell
>
> u(x+1,y,:) *DRF(:)*DYG(x+1,y)*hFacW(x+1,y,:) denotes the volume transport at the eastern face of the cell
>
> v(x,y,:)*DRF(k)*DXG(x,y)*hFacS(x,y,:) denotes the volume transport at the southern face of the cell, and
>
> v(x,y+1,:)* DRF(:)*DXG(x,y+1)*hFacS(x,y+1,:) denotes the volume transport at the northern face of the cell.
>
> If the volume in this water column is conservative, the result of this equation should be 0. However, it is not. I always got a volume residual value at ~0.01. If I chose to calculate a relative larger region, the residual value will also increase and I will get a very large value at last.
>
>
>
> So, my questions are
>
> Whether the equation of my calculation is right or wrong?
>
> If my equation is right, where will the residual volume goes?
>
> Will the residual volume contribute to the changes of ETAN or something else?
>
>
>
> Any comments and suggestions are appreciated!
>
> Cheers
>
> Chengyan
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list