[MITgcm-support] Diagnostic Statistics - Single Value Output

Martin Losch Martin.Losch at awi.de
Mon Feb 22 03:09:42 EST 2016


Hi Benjamin,

I understand this correctly: you want to write “global” mean and standard deviation for individual variables, but not per (z-)layer, and not use the pkg/monitor output that writes to STDOUT?
I am afraid, that’s not coded. At least there are no runtime flags in the diagnostics package, NAMELIST / DIAG_STATIS_PARMS / that suggest that this is possible.
You’d have to modify the code, e.g. diagstats_ascii_out.F or diagstats_mnc_out.F, depending on your preferred output method for the diagnostics package, in order to customize your output.

Martin

> On 19 Feb 2016, at 19:32, Benjamin Ocampo <rurik at ualberta.ca> wrote:
> 
> Hi All:
> 
> I am trying to work with the diagnostic package and 
> I am able to successfully use the diagnostic statistics 
> file to output values at each individual z-grid point using 
> the code below:
> 
> 
>  &DIAGNOSTICS_LIST
> #  Empty
>  &
> 
> # Parameter for Diagnostics of per level statistics:
> # #-----------------
> # # for each output-stream:
> # #  stat_fname(n) : prefix of the output file name (only 8.c long) for outp.stream n
> # #  stat_freq(n):< 0 : write snap-shot output every |stat_freq| seconds
> # #               > 0 : write time-average output every stat_freq seconds
> # #  stat_phase(n)    : write at time = stat_phase + multiple of |stat_freq|
> # #  stat_region(:,n) : list of "regions" (default: 1 region only=global)
> # #  stat_fields(:,n) : list of diagnostics fields (8.c) (see "available_diagnostics.log"
> # #                 file for the list of all available diag. in this particular config)
> # #-----------------
>  &DIAG_STATIS_PARMS
> #  - an example just to check the agreement with MONITOR output:
>   stat_fields(1,1)= 'UVEL    ',
>    stat_fname(1)= 'dynuvel',
>    stat_freq(1)= 500.,
>    stat_phase(1)= 0.,
>   stat_fields(1,2)= 'VVEL    ',
>    stat_fname(2)= 'dynvvel',
>    stat_freq(2)= 500.,
>    stat_phase(2)= 0.,
>   stat_fields(1,3)= 'WVEL    ',
>    stat_fname(3)= 'dynwvel',
>    stat_freq(3)= 500.,
>    stat_phase(3)= 0.,
>   stat_fields(1,4)= 'THETA    ',
>    stat_fname(4)= 'dynvtheta',
>    stat_freq(4)= 500.,
>    stat_phase(4)= 0.,
>  &
> 
> 
> My question is:
> 
> Is there a way to reduce the output of a variable to say 
> two per snapshot (mean and standard deviation) without
> using the STDOUT file (as it contains too much information
> and is too large)?
> 
> For example, if I sum all theta values in all (x,y,z) spatial 
> grid-points and divide it by Nx*Ny*Nr for a particular
> snapshot, I get a spatially averaged theta value of
> say 50C and some standard deviation associated with it
> (though for the purposes of my research, I can ignore it
> for the time being). Am I able to output a single spatially 
> averaged diagnostic value for each snapshot without
> outputting statistics for each z-grid points for all Nr points
> either by using the diagnostic package or by using another
> method during the execution of the code?
> 
> Cheers,
> Benjamin
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list