globalSpectralTransform_mod

link to source code

Dependency Diagrams:

globalSpectralTransform_mod.svg

Direct Dependency Diagram

globalSpectralTransform_mod_rev.svg

Reverse Dependency Diagram

Description

MODULE globalSpectralTransform_mod (prefix=’gst’ category=’4. Data Object transformations’)

Purpose

To perform global spectral transform (spherical harmonic transform with grid-point field on a standard global Gaussian grid).

Quick access

Routines

adjnorm(), adjnorm_kij(), allocate_comleg(), allp(), allp2(), fft3dvar(), fft3dvar_kij(), gauss8(), gdsppar(), getalp(), gst_gdsp(), gst_getnind(), gst_getnla(), gst_getr1qm2(), gst_getr1snp1(), gst_getrlati(), gst_getrmu(), gst_getrnnp1(), gst_getrsqm2(), gst_getrwt(), gst_getzleg(), gst_ilalist_mpiglobal(), gst_ilalist_mpilocal(), gst_reespe(), gst_reespe_kij(), gst_setdefaultid(), gst_setid(), gst_settodefaultid(), gst_setup(), gst_speree(), gst_speree_ad(), gst_speree_kij(), gst_speree_kij_ad(), gst_spgd(), gst_spgda(), gst_zlegdir(), gst_zleginv(), gst_zlegpol(), interleavewinds_gd(), interleavewinds_sp(), legdir2d(), legdir2d_kij(), leginv2d(), leginv2d_kij(), ordleg8(), reespepar(), reespepar_kij(), spereepar(), spereepar_kij(), spgdapar(), spgdpar(), sualp(), suleg(), transpose2d_levtolon_kij_mpitypes4(), transpose2d_levtolon_kij_mpitypes8(), transpose2d_lontolev_kij_mpitypes4(), transpose2d_lontolev_kij_mpitypes8(), uninterleavewinds_gd(), uninterleavewinds_sp()

Needed modules

  • codeprecision_mod: MODULE codePrecision_mod (prefix=’pre’ category=’8. Low-level utilities and constants’)

  • mpi

  • midasmpi_mod: MODULE midasMpi_mod (prefix=’mmpi’ category=’8. Low-level utilities and constants’)

  • mathphysconstants_mod: MODULE mathPhysConstants_mod (prefix=’mpc’ category=’8. Low-level utilities and constants’)

  • earthconstants_mod: MODULE earthConstants_mod (prefix=’ec’ category=’8. Low-level utilities and constants’)

  • utilities_mod: MODULE utilities_mod (prefix=’utl’ category=’8. Low-level utilities and constants’)

Types

  • type  globalspectraltransform_mod/unknown_type
    Type fields
    • % allilalist (*,*) [integer ,pointer]

    • % alllatbeg (*) [integer ,allocatable]

    • % alllatend (*) [integer ,allocatable]

    • % alllatperpe (*) [integer ,allocatable]

    • % alllevbeg (*) [integer ,allocatable]

    • % alllevend (*) [integer ,allocatable]

    • % alllonbeg (*) [integer ,allocatable]

    • % alllonend (*) [integer ,allocatable]

    • % alllonperpe (*) [integer ,allocatable]

    • % allmbeg (*) [integer ,allocatable]

    • % allmend (*) [integer ,allocatable]

    • % allmskip (*) [integer ,allocatable]

    • % allnbeg (*) [integer ,allocatable]

    • % allnend (*) [integer ,allocatable]

    • % allnla (*) [integer ,allocatable]

    • % allnskip (*) [integer ,allocatable]

    • % dalp (*,*) [real ,allocatable]

    • % dealp (*,*) [real ,allocatable]

    • % ilalist (*) [integer ,pointer]

    • % latperpe [integer ]

    • % latperpemax [integer ]

    • % lonlatdivisible [logical ]

    • % lonperpe [integer ]

    • % lonperpemax [integer ]

    • % maxmcount [integer ]

    • % maxmylevcount [integer ]

    • % maxmynla [integer ]

    • % mylatbeg [integer ]

    • % mylatend [integer ]

    • % mylathalfbeg [integer ]

    • % mylathalfend [integer ]

    • % mylevbeg [integer ]

    • % mylevcount [integer ]

    • % mylevend [integer ]

    • % mylonbeg [integer ]

    • % mylonend [integer ]

    • % mymbeg [integer ]

    • % mymcount [integer ]

    • % mymend [integer ]

    • % mymindex (*) [integer ,allocatable]

    • % mymskip [integer ]

    • % mynbeg [integer ]

    • % myncount [integer ]

    • % mynend [integer ]

    • % mynla [integer ]

    • % mynskip [integer ]

    • % nclm (*) [integer ,allocatable]

    • % ni [integer ]

    • % nind (*) [integer ,allocatable]

    • % nindrh (*) [integer ,allocatable]

    • % nj [integer ]

    • % njlath [integer ]

    • % nk [integer ]

    • % nla [integer ]

    • % nlarh [integer ]

    • % ntrunc [integer ]

    • % r1mu2 (*) [real ,allocatable]

    • % r1mua (*) [real ,allocatable]

    • % r1mui (*) [real ,allocatable]

    • % r1qm2 (*) [real ,allocatable]

    • % r1snp1 (*) [real ,allocatable]

    • % rcolat (*) [real ,allocatable]

    • % recvtype_levtolon [integer ]

    • % recvtype_lontolev [integer ]

    • % rlati (*) [real ,allocatable]

    • % rmu (*) [real ,allocatable]

    • % rnnp1 (*) [real ,allocatable]

    • % rsqm2 (*) [real ,allocatable]

    • % rwocs (*) [real ,allocatable]

    • % rwt (*) [real ,allocatable]

    • % sendtype_levtolon [integer ]

    • % sendtype_lontolev [integer ]

    • % zleg (*,*) [real ,allocatable]

Variables

Subroutines and functions

subroutine  globalspectraltransform_mod/gst_setid(gstid_in)
Arguments

gstid_in [integer ,in]

Called from

bchm_spa2gd(), bchm_spa2gdad(), ensemblescaledecomposition(), bhi_sutg(), bhi_spa2gd(), bhi_spa2gdad(), removebalancedt_ps(), calccorrelations(), calccorrelations2(), calcpowerspec(), spectralfilter(), spectralfilter2(), calcptot(), uv_to_psichi(), uvtopsichi_gsv(), setupglobalspectralhloc(), lsp_lsqrt(), lsp_lsqrtad()

subroutine  globalspectraltransform_mod/gst_setdefaultid(gstid_in)
Arguments

gstid_in [integer ,in]

Called from

gst_setup()

subroutine  globalspectraltransform_mod/gst_settodefaultid()
function  globalspectraltransform_mod/gst_getnla([gstid_opt])
Options

gstid_opt [integer ,in,]

Return

gst_getnla [integer ]

Called from

ensemblescaledecomposition()

function  globalspectraltransform_mod/gst_getrmu(latindex[, gstid_opt])
Arguments

latindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getrmu [real ]

Called from

bcsc_convol(), bhi_sucorns2(), bhi_calccorr(), bhi_convol(), bhi_spa2gd(), bhi_spa2gdad(), setupglobalspectralhloc()

function  globalspectraltransform_mod/gst_getrnnp1(ilaindex[, gstid_opt])
Arguments

ilaindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getrnnp1 [real ]

Called from

bhi_spa2gd(), bhi_spa2gdad(), calcbalancedp()

function  globalspectraltransform_mod/gst_getr1snp1(ilaindex[, gstid_opt])
Arguments

ilaindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getr1snp1 [real ]

Called from

uv_to_psichi(), uvtopsichi_gsv()

function  globalspectraltransform_mod/gst_getrwt(latindex[, gstid_opt])
Arguments

latindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getrwt [real ]

Called from

bhi_convol(), adjnorm(), adjnorm_kij(), gst_zlegdir()

function  globalspectraltransform_mod/gst_getnind(mindex[, gstid_opt])
Arguments

mindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getnind [integer ]

Called from

bchm_cain(), bchm_cainad(), bchm_spa2gd(), bchm_spa2gdad(), bchm_reducetompilocal(), bchm_reducetompilocal_r4(), bchm_expandtompiglobal(), bchm_expandtompiglobal_r4(), bhi_sutg(), bhi_truncatecv(), bhi_reducetompilocal(), bhi_reducetompilocal_r4(), bhi_expandtompiglobal(), bhi_expandtompiglobal_r4(), bhi_cain(), bhi_cainad(), bhi_spa2gd(), bhi_spa2gdad(), calccorrelations(), calccorrelations2(), calcpowerspec(), spectralfilter(), spectralfilter2(), gst_ilalist_mpiglobal(), gst_ilalist_mpilocal(), globalspectralhloc(), globalspectralhlocad(), lsp_reducetompilocal(), lsp_reducetompilocal_r4(), lsp_expandtompiglobal(), lsp_expandtompiglobal_r4()

function  globalspectraltransform_mod/gst_getrlati(latindex[, gstid_opt])
Arguments

latindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getrlati [real ]

Called from

calcptot()

function  globalspectraltransform_mod/gst_getr1qm2(latindex[, gstid_opt])
Arguments

latindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getr1qm2 [real ]

function  globalspectraltransform_mod/gst_getrsqm2(latindex[, gstid_opt])
Arguments

latindex [integer ,in]

Options

gstid_opt [integer ,in,]

Return

gst_getrsqm2 [real ]

function  globalspectraltransform_mod/gst_getzleg(legendreindex, latindex, gstid_in)
Purpose

To pass on Legendre polynomial element

Arguments
  • legendreindex [integer ]

  • latindex [integer ]

  • gstid_in [integer ]

Return

gst_getzleg [real ]

Called from

bcsc_convol()

subroutine  globalspectraltransform_mod/gst_ilalist_mpiglobal(ilalist, mynla, maxmynla, gstid_in, mymbeg, mymend, mymskip, mynbeg, mynend, mynskip)
Purpose

To produce an array to convert an mpilocal “ila” into an mpiglobal “ila”

Arguments
  • ilalist (*) [integer ,out,pointer]

  • mynla [integer ,out]

  • maxmynla [integer ,in]

  • gstid_in [integer ,in]

  • mymbeg [integer ,in]

  • mymend [integer ,in]

  • mymskip [integer ,in]

  • mynbeg [integer ,in]

  • mynend [integer ,in]

  • mynskip [integer ,in]

Called from

bchm_setupch(), bhi_setup(), csg_setup(), gst_setup(), uvtopsichi_gsv(), lsp_setup()

Call to

gst_getnind()

subroutine  globalspectraltransform_mod/gst_ilalist_mpilocal(ilalist, gstid_in, mymbeg, mymend, mymskip, mynbeg, mynend, mynskip)
Purpose

To produce an array to convert an mpiglobal “ila” into an mpilocal “ila”

Arguments
  • ilalist (*) [integer ,out,pointer]

  • gstid_in [integer ,in]

  • mymbeg [integer ,in]

  • mymend [integer ,in]

  • mymskip [integer ,in]

  • mynbeg [integer ,in]

  • mynend [integer ,in]

  • mynskip [integer ,in]

Called from

bchm_setupch(), bhi_setup(), csg_setup(), uvtopsichi_gsv(), lsp_setup()

Call to

gst_getnind()

function  globalspectraltransform_mod/gst_setup(ni_in, nj_in, ntrunc_in, maxlevels_in)
Arguments
  • ni_in [integer ,in]

  • nj_in [integer ,in]

  • ntrunc_in [integer ,in]

  • maxlevels_in [integer ,in]

Return

gst_setup [integer ]

Called from

bcsc_setupch(), bchm_setupch(), ensemblescaledecomposition(), bhi_setup(), csg_setup(), calcpowerspec(), spectralfilter2(), uvtopsichi_gsv(), lsp_setup(), setupglobalspectralhloc()

Call to

utl_abort(), gst_setdefaultid(), mmpi_setup_latbands(), mmpi_setup_lonbands(), mmpi_setup_levels(), mmpi_setup_n(), mmpi_setup_m(), allocate_comleg(), suleg(), sualp(), gst_ilalist_mpiglobal(), gst_zlegpol()

subroutine  globalspectraltransform_mod/transpose2d_ntolev(psp_in, psp_out)
Arguments
  • psp_in (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,in]

  • psp_out (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_levton(psp_in, psp_out)
Arguments
  • psp_in (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • psp_out (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_mtolat(pgd_in, pgd_out)
Arguments
  • pgd_in (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_mtolat_kij(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%maxmylevcount,2*gst(gstid)%maxmcount,gst(gstid)%nj) [real ,in]

  • pgd_out (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lattom(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pgd_out (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lattom_kij(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%maxmylevcount,2*gst(gstid)%maxmcount,gst(gstid)%nj) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_levtolon(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_levtolon_kij_mpitypes8(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Called from

gst_speree_kij()

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_levtolon_kij_mpitypes4(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Called from

gst_speree_kij()

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_levtolon_kij(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lontolev(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,in]

  • pgd_out (gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lontolev_kij_mpitypes8(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Called from

gst_reespe_kij()

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lontolev_kij_mpitypes4(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Called from

gst_reespe_kij()

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/transpose2d_lontolev_kij(pgd_in, pgd_out)
Arguments
  • pgd_in (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

  • pgd_out (gst(gstid)%maxmylevcount,gst(gstid)%ni,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Call to

utl_tmg_start(), utl_tmg_stop()

subroutine  globalspectraltransform_mod/interleavewinds_sp(psp, nflev)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

gst_spgd()

subroutine  globalspectraltransform_mod/uninterleavewinds_sp(psp, nflev)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

gst_gdsp(), gst_spgda()

subroutine  globalspectraltransform_mod/interleavewinds_gd(pgd, nflev)
Arguments
  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

gst_gdsp(), gst_spgda()

subroutine  globalspectraltransform_mod/uninterleavewinds_gd(pgd, nflev)
Arguments
  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

gst_spgd()

subroutine  globalspectraltransform_mod/gst_spgd(psp, pgd, nflev)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,inout]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,out]

  • nflev [integer ,in]

Called from

bhi_spa2gd()

Call to

utl_abort(), interleavewinds_sp(), transpose2d_ntolev(), utl_tmg_start(), spgdpar(), utl_tmg_stop(), transpose2d_mtolat(), fft3dvar(), transpose2d_levtolon(), uninterleavewinds_gd()

subroutine  globalspectraltransform_mod/gst_gdsp(psp, pgd, nflev)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

uv_to_psichi(), uvtopsichi_gsv()

Call to

utl_abort(), interleavewinds_gd(), transpose2d_lontolev(), utl_tmg_start(), fft3dvar(), utl_tmg_stop(), transpose2d_lattom(), gdsppar(), transpose2d_levton(), uninterleavewinds_sp()

subroutine  globalspectraltransform_mod/spgdpar(psp, pgd2, nflev)
Purpose

Inverse spectral transform(PARALLEL LOOP)

Arguments
  • psp (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pgd2 (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • nflev [integer ,in]

Called from

gst_spgd()

Call to

getalp(), leginv2d()

subroutine  globalspectraltransform_mod/gdsppar(psp, pgd2, nflev)
Arguments
  • psp (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • pgd2 (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • nflev [integer ,in]

Called from

gst_gdsp()

Call to

getalp(), legdir2d()

subroutine  globalspectraltransform_mod/gst_spgda(psp, pgd, nflev)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,inout]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

  • nflev [integer ,in]

Called from

bhi_spa2gdad()

Call to

utl_abort(), adjnorm(), interleavewinds_gd(), transpose2d_lontolev(), utl_tmg_start(), fft3dvar(), utl_tmg_stop(), transpose2d_lattom(), spgdapar(), transpose2d_levton(), uninterleavewinds_sp()

subroutine  globalspectraltransform_mod/spgdapar(psp, pgd2, nflev)
Arguments
  • psp (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • pgd2 (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • nflev [integer ,in]

Called from

gst_spgda()

Call to

getalp(), legdir2d()

subroutine  globalspectraltransform_mod/gst_speree(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,in]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,out]

Called from

bchm_spa2gd(), bhi_spa2gd(), bhi_spa2gdad(), removebalancedt_ps(), spectralfilter(), calcptot(), uv_to_psichi(), uvtopsichi_gsv()

Call to

transpose2d_ntolev(), utl_tmg_start(), spereepar(), utl_tmg_stop(), transpose2d_mtolat(), fft3dvar(), transpose2d_levtolon()

subroutine  globalspectraltransform_mod/gst_speree_kij(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,in]

  • pgd (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,out]

Called from

ensemblescaledecomposition(), spectralfilter2(), lsp_lsqrt()

Call to

utl_tmg_start(), utl_tmg_stop(), transpose2d_ntolev(), spereepar_kij(), transpose2d_mtolat_kij(), fft3dvar_kij(), transpose2d_levtolon_kij_mpitypes4(), transpose2d_levtolon_kij_mpitypes8(), transpose2d_levtolon_kij()

subroutine  globalspectraltransform_mod/gst_speree_ad(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

Called from

bchm_spa2gdad()

Call to

adjnorm(), gst_reespe()

subroutine  globalspectraltransform_mod/gst_reespe(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

  • pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,in]

Called from

bhi_sutg(), bhi_spa2gd(), bhi_spa2gdad(), removebalancedt_ps(), calccorrelations(), calccorrelations2(), spectralfilter(), calcptot(), gst_speree_ad(), setupglobalspectralhloc()

Call to

transpose2d_lontolev(), utl_tmg_start(), fft3dvar(), utl_tmg_stop(), transpose2d_lattom(), reespepar(), transpose2d_levton()

subroutine  globalspectraltransform_mod/gst_reespe_kij(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

  • pgd (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,in]

Called from

ensemblescaledecomposition(), calcpowerspec(), spectralfilter2(), gst_speree_kij_ad()

Call to

utl_tmg_start(), utl_tmg_stop(), transpose2d_lontolev_kij_mpitypes4(), transpose2d_lontolev_kij_mpitypes8(), transpose2d_lontolev_kij(), fft3dvar_kij(), transpose2d_lattom_kij(), reespepar_kij(), transpose2d_levton()

subroutine  globalspectraltransform_mod/gst_speree_kij_ad(psp, pgd)
Arguments
  • psp (gst(gstid)%mynla,2,gst(gstid)%nk) [real ,out]

  • pgd (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,inout]

Called from

lsp_lsqrtad()

Call to

adjnorm_kij(), gst_reespe_kij()

subroutine  globalspectraltransform_mod/adjnorm(pgd)
Arguments

pgd (gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1,gst(gstid)%nk) [real ,inout]

Called from

gst_spgda(), gst_speree_ad()

Call to

gst_getrwt()

subroutine  globalspectraltransform_mod/adjnorm_kij(pgd)
Arguments

pgd (gst(gstid)%nk,gst(gstid)%mylonend-(gst(gstid)%mylonbeg)+1,gst(gstid)%mylatend-(gst(gstid)%mylatbeg)+1) [real ,inout]

Called from

gst_speree_kij_ad()

Call to

gst_getrwt()

subroutine  globalspectraltransform_mod/spereepar(psp, pgd2)
Purpose

Inverse spectral transform(MPI PARALLEL LOOP)

Arguments
  • psp (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pgd2 (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Called from

gst_speree()

Call to

getalp(), leginv2d()

subroutine  globalspectraltransform_mod/spereepar_kij(psp, pgd2)
Purpose

Inverse spectral transform(MPI PARALLEL LOOP)

Arguments
  • psp (gst(gstid)%nla,2,gst(gstid)%mylevcount) [real ,in]

  • pgd2 (gst(gstid)%maxmylevcount,2*gst(gstid)%maxmcount,gst(gstid)%nj) [real ,out]

Called from

gst_speree_kij()

Call to

getalp(), leginv2d_kij()

subroutine  globalspectraltransform_mod/reespepar(pgd2, psp)
Arguments
  • pgd2 (2*gst(gstid)%maxmcount,gst(gstid)%nj,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • psp (gst(gstid)%nla,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

Called from

gst_reespe()

Call to

getalp(), legdir2d()

subroutine  globalspectraltransform_mod/reespepar_kij(pgd2, psp)
Arguments
  • pgd2 (gst(gstid)%maxmylevcount,2*gst(gstid)%maxmcount,gst(gstid)%nj) [real ,in]

  • psp (gst(gstid)%nla,2,gst(gstid)%mylevcount) [real ,out]

Called from

gst_reespe_kij()

Call to

getalp(), legdir2d_kij()

subroutine  globalspectraltransform_mod/legdir2d(km, pfms, pfma, ddsp, ddalp, klath, ktrunc, ktruncdim)
Arguments
  • km [integer ,in]

  • pfms (gst(gstid)%njlath+1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • pfma (gst(gstid)%njlath+1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • ddsp (ktruncdim + 1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • ddalp (ktruncdim + 1,klath) [real ,in]

  • klath [integer ,in,]

  • ktrunc [integer ,in]

  • ktruncdim [integer ,in,]

Called from

gdsppar(), spgdapar(), reespepar()

subroutine  globalspectraltransform_mod/legdir2d_kij(km, pfms, pfma, ddsp, ddalp, klath, ktrunc, ktruncdim)
Arguments
  • km [integer ,in]

  • pfms (gst(gstid)%mylevcount,gst(gstid)%njlath+1,2) [real ,in]

  • pfma (gst(gstid)%mylevcount,gst(gstid)%njlath+1,2) [real ,in]

  • ddsp (gst(gstid)%mylevcount,ktruncdim + 1,2) [real ,out]

  • ddalp (ktruncdim + 1,klath) [real ,in]

  • klath [integer ,in,]

  • ktrunc [integer ,in]

  • ktruncdim [integer ,in,]

Called from

reespepar_kij()

subroutine  globalspectraltransform_mod/leginv2d(km, pfms, pfma, ddsp, ddalp, klath, ktrunc, ktruncdim)
Arguments
  • km [integer ,in]

  • pfms (gst(gstid)%njlath+1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • pfma (gst(gstid)%njlath+1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,out]

  • ddsp (ktruncdim + 1,2,gst(gstid)%mylevend-(gst(gstid)%mylevbeg)+1) [real ,in]

  • ddalp (ktruncdim + 1,klath) [real ,in]

  • klath [integer ,in,]

  • ktrunc [integer ,in]

  • ktruncdim [integer ,in,]

Called from

spgdpar(), spereepar()

subroutine  globalspectraltransform_mod/leginv2d_kij(km, pfms, pfma, ddsp, ddalp, klath, ktrunc, ktruncdim)
Arguments
  • km [integer ,in]

  • pfms (gst(gstid)%mylevcount,gst(gstid)%njlath+1,2) [real ,out]

  • pfma (gst(gstid)%mylevcount,gst(gstid)%njlath+1,2) [real ,out]

  • ddsp (gst(gstid)%mylevcount,ktruncdim + 1,2) [real ,in]

  • ddalp (ktruncdim + 1,klath) [real ,in]

  • klath [integer ,in,]

  • ktrunc [integer ,in]

  • ktruncdim [integer ,in,]

Called from

spereepar_kij()

subroutine  globalspectraltransform_mod/allocate_comleg()
Purpose

Subroutine for initializing the Legendre transform

Called from

gst_setup()

subroutine  globalspectraltransform_mod/suleg([lverbose_opt])
Purpose

To initializethe Gaussian latitudes, weights and related quantities

Options

lverbose_opt [logical ,in,]

Called from

gst_setup()

Call to

gauss8()

subroutine  globalspectraltransform_mod/gauss8(nracp, racp, pg, sia, rad, pgssin2, sinm1, sinm2, sin2)
Arguments
  • nracp [integer ,in]

  • racp (*) [real ,out]

  • pg (*) [real ,out]

  • sia (*) [real ,out]

  • rad (*) [real ,out]

  • pgssin2 (*) [real ,out]

  • sinm1 (*) [real ,out]

  • sinm2 (*) [real ,out]

  • sin2 (*) [real ,out]

Called from

suleg()

Call to

ordleg8()

subroutine  globalspectraltransform_mod/ordleg8(sx, coa, ir)
Arguments
  • sx [real ,out]

  • coa [real ,in]

  • ir [integer ,in]

Called from

gauss8()

subroutine  globalspectraltransform_mod/sualp()
Called from

gst_setup()

Call to

allp(), allp2()

subroutine  globalspectraltransform_mod/getalp(ddalp, dddalp, klath, ktrunc, ktruncdim, km)
Arguments
  • ddalp (ktruncdim + 1,klath) [real ]

  • dddalp (ktruncdim + 1,klath) [real ]

  • klath [integer ]

  • ktrunc [integer ]

  • ktruncdim [integer ]

  • km [integer ]

Called from

spgdpar(), gdsppar(), spgdapar(), spereepar(), spereepar_kij(), reespepar(), reespepar_kij()

subroutine  globalspectraltransform_mod/allp(p, g, x, lr, r, nlatp)
Arguments
  • p (r + 1,r + 1,nlatp) [real ]

  • g (r + 1,r + 1,nlatp) [real ]

  • x (nlatp) [real ]

  • lr (r + 1) [integer ]

  • r [integer ]

  • nlatp [integer ]

Called from

sualp()

subroutine  globalspectraltransform_mod/allp2(p, g, x, r, nlatp)
Arguments
  • p (r + 1,r + 1,nlatp) [real ]

  • g (r + 1,r + 1,nlatp) [real ]

  • x (nlatp) [real ]

  • r [integer ]

  • nlatp [integer ]

Called from

sualp()

subroutine  globalspectraltransform_mod/gst_zlegpol(gstid_in)
Purpose

To evaluate Legendre polynomials restricted to (n,m) = (n,0)

Arguments

gstid_in [integer ]

Called from

gst_setup()

subroutine  globalspectraltransform_mod/gst_zlegdir(gstid_in, pf, pn, klev)
Purpose

Direct Legendre transform restricted to

Arguments
  • gstid_in [integer ]

  • pf (gst(gstid_in)%nj,klev) [real ]

  • pn (gst(gstid_in)%ntrunc+1,klev) [real ]

  • klev [integer ] :: number of fields to transform

Called from

bcsc_convol(), bhi_convol(), writespstats()

Call to

gst_getrwt()

subroutine  globalspectraltransform_mod/gst_zleginv(gstid_in, pf, pn, klev)
Purpose

Direct Legendre transform restricted to fields that vary with latitude only

Arguments
  • gstid_in [integer ]

  • pf (gst(gstid_in)%nj,klev) [real ]

  • pn (gst(gstid_in)%ntrunc+1,klev) [real ]

  • klev [integer ] :: number of fields to transform

Called from

bcsc_convol(), bcsc_rdspstd(), bcsc_rdspstd_newfmt(), bhi_convol(), bhi_rdspstd(), bhi_rdspstd_newfmt(), bhi_rdspptot()

subroutine  globalspectraltransform_mod/fft3dvar(pgd, kdir)
Arguments
  • pgd (*,*,*) [real ]

  • kdir [integer ]

Called from

gst_spgd(), gst_gdsp(), gst_spgda(), gst_speree(), gst_reespe()

Call to

ngfft(), utl_abort()

subroutine  globalspectraltransform_mod/fft3dvar_kij(pgd, kdir)
Arguments
  • pgd (*,*,*) [real ]

  • kdir [integer ]

Called from

gst_speree_kij(), gst_reespe_kij()

Call to

ngfft(), utl_abort()

subroutine  globalspectraltransform_mod/ngfft(n)
Arguments

n [integer ]