Our site saves small pieces of text information (cookies) on your
device in order to verify your login. These cookies are essential
to provide access to resources on this website and it will not
work properly without.
Learn more

<p>
Hi Rolf,
</p>
<p>
I send you an excel table for the case of 40 levels, which was prepared by H-J and myself in order to analyse the inconsistencies between the grid definitions in
<span class="caps">
COSMO
</span>
. It shows all related quantities of the reference atmosphere and the same values as in
<span class="caps">
YUSPECIF
</span>
.
<br/>
You may adapt it for 60 levels and compare the formula with yours. This should give the correct values.
</p>
<p>
I’m sorry, but I do not have the time at the moment to check it on my own.
</p>
<p>
Regards, Andreas
</p>
<p>
Rolf Zentek wrote:
<br/>
> Hi,
<br/>
>
<br/>
> I have my 3d (+time = 4d) variable PP (deviation from reference pressure).
<br/>
> Now I simple want to compute my pressure on the full levels.
<br/>
>
<br/>
> from YUSPECIF:
<br/>
>
<br/>
> Vertical coordinate: type 2 (Gal-Chen hybrid)
<br/>
> k Z(k) P0(k)
<br/>
> 1 25000.0000 28.1726
<br/>
> 2 23800.0000 33.9524
<br/>
> […..]
<br/>
> 60 10.0000 998.8149
<br/>
> 61 0.0000 1000.0000
<br/>
> Boundary for change from z to terrain-following: vcflat = 11430.0000
<br/>
> Half-level index where levels become flat: k = 15
<br/>
> Exponential profile with asymptotic isothermal stratosphere
<br/>
> Values of the Reference Atmosphere:
<br/>
> Pressure at Sea-Level: 1000.0000
<br/>
> Temperature at Sea-Level: 15.0000
<br/>
> Temp. diff. sea-level-stratosph.: 75.0000
<br/>
> Scale height for temp. decrease: 10000.0000
<br/>
>
<br/>
> from Output constant file (lffd2015123118c.nc)
<br/>
>
<br/>
> vcoord:long_name = “Height-based hybrid Gal-Chen coordinate” ;
<br/>
> vcoord:units = “Pa” ;
<br/>
> vcoord:ivctype = 2 ;
<br/>
> vcoord:irefatm = 2 ;
<br/>
> vcoord:p0sl = 100000. ;
<br/>
> vcoord:t0sl = 288.149993896484 ;
<br/>
> vcoord:dt0lp = 42. ;
<br/>
> vcoord:vcflat = 11430. ;
<br/>
> vcoord:delta_t = 75. ;
<br/>
> vcoord:h_scal = 10000. ;
<br/>
>
<br/>
> As I understand it, I need to compute the reference pressure for every grid point and then just add PP?
<br/>
> I must compute the reference pressure on full levels right?
<br/>
>
<br/>
> Step 1: H = ( HLL[:,:,1:60] + HLL[:,:,2:61] ) * 0.5
<br/>
> Step 2: P_ref = specialFunction(H) = “pressure in Height H“
<br/>
> Step 3: P = P_ref + PP
<br/>
>
<br/>
> Is this so far correct?
<br/>
> In that case what is this “specialFunction”? (I know it is basically barometric height formula… but which version?)
<br/>
> I tried the formula from the COSMO Documentation (Part I: Dynamics and Numerics) page 28/29, equation (3.85)
<br/>
> p_0(z) = … for both cases beta = 0 and beta = 42
<br/>
> but if I test it with the values from YUSPECIF I get lower or higher values than there.
<br/>
>
<br/>
> nc = nc_open(file)
<br/>
> vcoord = ncvar_get(nc,“vcoord”)
<br/>
> p0sl = ncatt_get(nc,“vcoord”,“p0sl”)$value
<br/>
> t0sl = ncatt_get(nc,“vcoord”,“t0sl”)$value
<br/>
> dt0lp = ncatt_get(nc,“vcoord”,“dt0lp”)$value
<br/>
> pref1 = p0sl * exp( -t0sl/dt0lp * (1-sqrt(1 – 2 * dt0lp * 9.81 * vcoord / 287.058 / t0sl^2) )
<br/>
> pref2 = p0sl * exp( -9.81 * vcoord / 287.058 / t0sl )
<br/>
>
<br/>
> for 25000m
<br/>
> pref1 gives 13 hPa
<br/>
> pref2 gives 51 hPa
<br/>
> while YUSPECIF says 28 hPa
<br/>
>
<br/>
> Any suggestions?
<br/>
> Rolf
<br/>
>
<br/>
> P.S.: the attribute:units of the variable “vcoord” says “Pa” but its obviously(?) meter
<br/>
>
<br/>
> edit: I attached the files
</p>

<p>
Hi Rolf,
</p>
<p>
I send you an excel table for the case of 40 levels, which was prepared by H-J and myself in order to analyse the inconsistencies between the grid definitions in
<span class="caps">
COSMO
</span>
. It shows all related quantities of the reference atmosphere and the same values as in
<span class="caps">
YUSPECIF
</span>
.
<br/>
You may adapt it for 60 levels and compare the formula with yours. This should give the correct values.
</p>
<p>
I’m sorry, but I do not have the time at the moment to check it on my own.
</p>
<p>
Regards, Andreas
</p>
<p>
Rolf Zentek wrote:
<br/>
> Hi,
<br/>
>
<br/>
> I have my 3d (+time = 4d) variable PP (deviation from reference pressure).
<br/>
> Now I simple want to compute my pressure on the full levels.
<br/>
>
<br/>
> from YUSPECIF:
<br/>
>
<br/>
> Vertical coordinate: type 2 (Gal-Chen hybrid)
<br/>
> k Z(k) P0(k)
<br/>
> 1 25000.0000 28.1726
<br/>
> 2 23800.0000 33.9524
<br/>
> […..]
<br/>
> 60 10.0000 998.8149
<br/>
> 61 0.0000 1000.0000
<br/>
> Boundary for change from z to terrain-following: vcflat = 11430.0000
<br/>
> Half-level index where levels become flat: k = 15
<br/>
> Exponential profile with asymptotic isothermal stratosphere
<br/>
> Values of the Reference Atmosphere:
<br/>
> Pressure at Sea-Level: 1000.0000
<br/>
> Temperature at Sea-Level: 15.0000
<br/>
> Temp. diff. sea-level-stratosph.: 75.0000
<br/>
> Scale height for temp. decrease: 10000.0000
<br/>
>
<br/>
> from Output constant file (lffd2015123118c.nc)
<br/>
>
<br/>
> vcoord:long_name = “Height-based hybrid Gal-Chen coordinate” ;
<br/>
> vcoord:units = “Pa” ;
<br/>
> vcoord:ivctype = 2 ;
<br/>
> vcoord:irefatm = 2 ;
<br/>
> vcoord:p0sl = 100000. ;
<br/>
> vcoord:t0sl = 288.149993896484 ;
<br/>
> vcoord:dt0lp = 42. ;
<br/>
> vcoord:vcflat = 11430. ;
<br/>
> vcoord:delta_t = 75. ;
<br/>
> vcoord:h_scal = 10000. ;
<br/>
>
<br/>
> As I understand it, I need to compute the reference pressure for every grid point and then just add PP?
<br/>
> I must compute the reference pressure on full levels right?
<br/>
>
<br/>
> Step 1: H = ( HLL[:,:,1:60] + HLL[:,:,2:61] ) * 0.5
<br/>
> Step 2: P_ref = specialFunction(H) = “pressure in Height H“
<br/>
> Step 3: P = P_ref + PP
<br/>
>
<br/>
> Is this so far correct?
<br/>
> In that case what is this “specialFunction”? (I know it is basically barometric height formula… but which version?)
<br/>
> I tried the formula from the COSMO Documentation (Part I: Dynamics and Numerics) page 28/29, equation (3.85)
<br/>
> p_0(z) = … for both cases beta = 0 and beta = 42
<br/>
> but if I test it with the values from YUSPECIF I get lower or higher values than there.
<br/>
>
<br/>
> nc = nc_open(file)
<br/>
> vcoord = ncvar_get(nc,“vcoord”)
<br/>
> p0sl = ncatt_get(nc,“vcoord”,“p0sl”)$value
<br/>
> t0sl = ncatt_get(nc,“vcoord”,“t0sl”)$value
<br/>
> dt0lp = ncatt_get(nc,“vcoord”,“dt0lp”)$value
<br/>
> pref1 = p0sl * exp( -t0sl/dt0lp * (1-sqrt(1 – 2 * dt0lp * 9.81 * vcoord / 287.058 / t0sl^2) )
<br/>
> pref2 = p0sl * exp( -9.81 * vcoord / 287.058 / t0sl )
<br/>
>
<br/>
> for 25000m
<br/>
> pref1 gives 13 hPa
<br/>
> pref2 gives 51 hPa
<br/>
> while YUSPECIF says 28 hPa
<br/>
>
<br/>
> Any suggestions?
<br/>
> Rolf
<br/>
>
<br/>
> P.S.: the attribute:units of the variable “vcoord” says “Pa” but its obviously(?) meter
<br/>
>
<br/>
> edit: I attached the files
</p>

I send you an excel table for the case of 40 levels, which was prepared by H-J and myself in order to analyse the inconsistencies between the grid definitions in
COSMO
. It shows all related quantities of the reference atmosphere and the same values as in
YUSPECIF
.
You may adapt it for 60 levels and compare the formula with yours. This should give the correct values.

I’m sorry, but I do not have the time at the moment to check it on my own.

Regards, Andreas

Rolf Zentek wrote:
> Hi,
>
> I have my 3d (+time = 4d) variable PP (deviation from reference pressure).
> Now I simple want to compute my pressure on the full levels.
>
> from YUSPECIF:
>
> Vertical coordinate: type 2 (Gal-Chen hybrid)
> k Z(k) P0(k)
> 1 25000.0000 28.1726
> 2 23800.0000 33.9524
> […..]
> 60 10.0000 998.8149
> 61 0.0000 1000.0000
> Boundary for change from z to terrain-following: vcflat = 11430.0000
> Half-level index where levels become flat: k = 15
> Exponential profile with asymptotic isothermal stratosphere
> Values of the Reference Atmosphere:
> Pressure at Sea-Level: 1000.0000
> Temperature at Sea-Level: 15.0000
> Temp. diff. sea-level-stratosph.: 75.0000
> Scale height for temp. decrease: 10000.0000
>
> from Output constant file (lffd2015123118c.nc)
>
> vcoord:long_name = “Height-based hybrid Gal-Chen coordinate” ;
> vcoord:units = “Pa” ;
> vcoord:ivctype = 2 ;
> vcoord:irefatm = 2 ;
> vcoord:p0sl = 100000. ;
> vcoord:t0sl = 288.149993896484 ;
> vcoord:dt0lp = 42. ;
> vcoord:vcflat = 11430. ;
> vcoord:delta_t = 75. ;
> vcoord:h_scal = 10000. ;
>
> As I understand it, I need to compute the reference pressure for every grid point and then just add PP?
> I must compute the reference pressure on full levels right?
>
> Step 1: H = ( HLL[:,:,1:60] + HLL[:,:,2:61] ) * 0.5
> Step 2: P_ref = specialFunction(H) = “pressure in Height H“
> Step 3: P = P_ref + PP
>
> Is this so far correct?
> In that case what is this “specialFunction”? (I know it is basically barometric height formula… but which version?)
> I tried the formula from the COSMO Documentation (Part I: Dynamics and Numerics) page 28/29, equation (3.85)
> p_0(z) = … for both cases beta = 0 and beta = 42
> but if I test it with the values from YUSPECIF I get lower or higher values than there.
>
> nc = nc_open(file)
> vcoord = ncvar_get(nc,“vcoord”)
> p0sl = ncatt_get(nc,“vcoord”,“p0sl”)$value
> t0sl = ncatt_get(nc,“vcoord”,“t0sl”)$value
> dt0lp = ncatt_get(nc,“vcoord”,“dt0lp”)$value
> pref1 = p0sl * exp( -t0sl/dt0lp * (1-sqrt(1 – 2 * dt0lp * 9.81 * vcoord / 287.058 / t0sl^2) )
> pref2 = p0sl * exp( -9.81 * vcoord / 287.058 / t0sl )
>
> for 25000m
> pref1 gives 13 hPa
> pref2 gives 51 hPa
> while YUSPECIF says 28 hPa
>
> Any suggestions?
> Rolf
>
> P.S.: the attribute:units of the variable “vcoord” says “Pa” but its obviously(?) meter
>
> edit: I attached the files

Hi Rolf,

I send you an excel table for the case of 40 levels, which was prepared by H-J and myself in order to analyse the inconsistencies between the grid definitions in COSMO . It shows all related quantities of the reference atmosphere and the same values as in YUSPECIF .

You may adapt it for 60 levels and compare the formula with yours. This should give the correct values.

I’m sorry, but I do not have the time at the moment to check it on my own.

Regards, Andreas

Rolf Zentek wrote:

> Hi,

>

> I have my 3d (+time = 4d) variable PP (deviation from reference pressure).

> Now I simple want to compute my pressure on the full levels.

>

> from YUSPECIF:

>

> Vertical coordinate: type 2 (Gal-Chen hybrid)

> k Z(k) P0(k)

> 1 25000.0000 28.1726

> 2 23800.0000 33.9524

> […..]

> 60 10.0000 998.8149

> 61 0.0000 1000.0000

> Boundary for change from z to terrain-following: vcflat = 11430.0000

> Half-level index where levels become flat: k = 15

> Exponential profile with asymptotic isothermal stratosphere

> Values of the Reference Atmosphere:

> Pressure at Sea-Level: 1000.0000

> Temperature at Sea-Level: 15.0000

> Temp. diff. sea-level-stratosph.: 75.0000

> Scale height for temp. decrease: 10000.0000

>

> from Output constant file (lffd2015123118c.nc)

>

> vcoord:long_name = “Height-based hybrid Gal-Chen coordinate” ;

> vcoord:units = “Pa” ;

> vcoord:ivctype = 2 ;

> vcoord:irefatm = 2 ;

> vcoord:p0sl = 100000. ;

> vcoord:t0sl = 288.149993896484 ;

> vcoord:dt0lp = 42. ;

> vcoord:vcflat = 11430. ;

> vcoord:delta_t = 75. ;

> vcoord:h_scal = 10000. ;

>

> As I understand it, I need to compute the reference pressure for every grid point and then just add PP?

> I must compute the reference pressure on full levels right?

>

> Step 1: H = ( HLL[:,:,1:60] + HLL[:,:,2:61] ) * 0.5

> Step 2: P_ref = specialFunction(H) = “pressure in Height H“

> Step 3: P = P_ref + PP

>

> Is this so far correct?

> In that case what is this “specialFunction”? (I know it is basically barometric height formula… but which version?)

> I tried the formula from the COSMO Documentation (Part I: Dynamics and Numerics) page 28/29, equation (3.85)

> p_0(z) = … for both cases beta = 0 and beta = 42

> but if I test it with the values from YUSPECIF I get lower or higher values than there.

>

> nc = nc_open(file)

> vcoord = ncvar_get(nc,“vcoord”)

> p0sl = ncatt_get(nc,“vcoord”,“p0sl”)$value

> t0sl = ncatt_get(nc,“vcoord”,“t0sl”)$value

> dt0lp = ncatt_get(nc,“vcoord”,“dt0lp”)$value

> pref1 = p0sl * exp( -t0sl/dt0lp * (1-sqrt(1 – 2 * dt0lp * 9.81 * vcoord / 287.058 / t0sl^2) )

> pref2 = p0sl * exp( -9.81 * vcoord / 287.058 / t0sl )

>

> for 25000m

> pref1 gives 13 hPa

> pref2 gives 51 hPa

> while YUSPECIF says 28 hPa

>

> Any suggestions?

> Rolf

>

> P.S.: the attribute:units of the variable “vcoord” says “Pa” but its obviously(?) meter

>

> edit: I attached the files