get_aero_fromfile Subroutine

public subroutine get_aero_fromfile(varname, cyr, filename, klev_src, pt_ap, pt_b, pt_year, psurf_out, load_out)

Uses

  • proc~~get_aero_fromfile~~UsesGraph proc~get_aero_fromfile get_aero_fromfile netcdf netcdf proc~get_aero_fromfile->netcdf module~mod_grid_phy_lmdz mod_grid_phy_lmdz proc~get_aero_fromfile->module~mod_grid_phy_lmdz module~iophy iophy proc~get_aero_fromfile->module~iophy module~mod_phys_lmdz_para mod_phys_lmdz_para proc~get_aero_fromfile->module~mod_phys_lmdz_para module~dimphy~3 dimphy proc~get_aero_fromfile->module~dimphy~3 module~lmdz_xios lmdz_xios proc~get_aero_fromfile->module~lmdz_xios module~print_control_mod print_control_mod proc~get_aero_fromfile->module~print_control_mod module~mod_phys_lmdz_transfert_para mod_phys_lmdz_transfert_para module~mod_phys_lmdz_para->module~mod_phys_lmdz_transfert_para module~mod_phys_lmdz_omp_data mod_phys_lmdz_omp_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_omp_data module~mod_phys_lmdz_mpi_data mod_phys_lmdz_mpi_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_mpi_data module~mod_phys_lmdz_omp_transfert mod_phys_lmdz_omp_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_omp_transfert module~mod_phys_lmdz_mpi_transfert mod_phys_lmdz_mpi_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_mpi_transfert module~lmdz_cppkeys_wrapper lmdz_cppkeys_wrapper module~mod_phys_lmdz_mpi_data->module~lmdz_cppkeys_wrapper module~lmdz_mpi lmdz_mpi module~mod_phys_lmdz_mpi_data->module~lmdz_mpi module~lmdz_cppkeys_wrapper->netcdf iso_fortran_env iso_fortran_env module~lmdz_cppkeys_wrapper->iso_fortran_env

Read 12 month aerosol from file and distribute to local process on physical grid. Vertical levels, klev_src, may differ from model levels if new file format.

For mpi_root and master thread : 1) Open file 2) Find vertical dimension klev_src 3) Read field month by month 4) Close file
5) Transform the global field from 2D(nbp_lon,nbp_lat) to 1D(klon_glo) - Also the levels and the latitudes have to be inversed

For all processes and threads : 6) Scatter global field(klon_glo) to local process domain(klon) 7) Test for negative values



Add suffix to filename


Read and test longitudes






Get variable id CALL check_err( nf90_inq_varid(ncid, TRIM(varname), varid),"pb inq var "//TRIM(varname) )


Get variable id


Get variable id CALL check_err( nf90_inq_varid(ncid, "load_"//TRIM(varname), varid) ,"pb inq var load_"//TRIM(varname))


Get variable id


Get variable id




Test if vertical levels have to be inversed



Arguments

Type IntentOptional Attributes Name
character(len=7), intent(in) :: varname
character(len=4), intent(in) :: cyr
character(len=8), intent(in) :: filename
integer, intent(out) :: klev_src
real, POINTER, DIMENSION(:) :: pt_ap
real, POINTER, DIMENSION(:) :: pt_b
real, POINTER, DIMENSION(:,:,:) :: pt_year
real, intent(out), DIMENSION(klon,12) :: psurf_out
real, intent(out), DIMENSION(klon,12) :: load_out

Calls

proc~~get_aero_fromfile~~CallsGraph proc~get_aero_fromfile get_aero_fromfile proc~abort_physic abort_physic proc~get_aero_fromfile->proc~abort_physic nf90_inq_varid nf90_inq_varid proc~get_aero_fromfile->nf90_inq_varid interface~grid2dto1d_glo grid2dTo1d_glo proc~get_aero_fromfile->interface~grid2dto1d_glo nf90_get_var nf90_get_var proc~get_aero_fromfile->nf90_get_var nf90_inq_dimid nf90_inq_dimid proc~get_aero_fromfile->nf90_inq_dimid nf90_close nf90_close proc~get_aero_fromfile->nf90_close interface~bcast bcast proc~get_aero_fromfile->interface~bcast interface~xios_send_field xios_send_field proc~get_aero_fromfile->interface~xios_send_field interface~xios_recv_field xios_recv_field proc~get_aero_fromfile->interface~xios_recv_field proc~check_err check_err proc~get_aero_fromfile->proc~check_err nf90_open nf90_open proc~get_aero_fromfile->nf90_open interface~scatter_omp scatter_omp proc~get_aero_fromfile->interface~scatter_omp interface~scatter scatter proc~get_aero_fromfile->interface~scatter nf90_inquire_dimension nf90_inquire_dimension proc~get_aero_fromfile->nf90_inquire_dimension getin_dump getin_dump proc~abort_physic->getin_dump histclo histclo proc~abort_physic->histclo proc~mpi_abort MPI_ABORT proc~abort_physic->proc~mpi_abort restclo restclo proc~abort_physic->restclo proc~grid2dto1d_glo_r grid2dTo1d_glo_r interface~grid2dto1d_glo->proc~grid2dto1d_glo_r proc~grid2dto1d_glo_r3 grid2dTo1d_glo_r3 interface~grid2dto1d_glo->proc~grid2dto1d_glo_r3 proc~grid2dto1d_glo_l1 grid2dTo1d_glo_l1 interface~grid2dto1d_glo->proc~grid2dto1d_glo_l1 proc~grid2dto1d_glo_i3 grid2dTo1d_glo_i3 interface~grid2dto1d_glo->proc~grid2dto1d_glo_i3 proc~grid2dto1d_glo_l grid2dTo1d_glo_l interface~grid2dto1d_glo->proc~grid2dto1d_glo_l proc~grid2dto1d_glo_r1 grid2dTo1d_glo_r1 interface~grid2dto1d_glo->proc~grid2dto1d_glo_r1 proc~grid2dto1d_glo_i grid2dTo1d_glo_i interface~grid2dto1d_glo->proc~grid2dto1d_glo_i proc~grid2dto1d_glo_i2 grid2dTo1d_glo_i2 interface~grid2dto1d_glo->proc~grid2dto1d_glo_i2 proc~grid2dto1d_glo_l2 grid2dTo1d_glo_l2 interface~grid2dto1d_glo->proc~grid2dto1d_glo_l2 proc~grid2dto1d_glo_i1 grid2dTo1d_glo_i1 interface~grid2dto1d_glo->proc~grid2dto1d_glo_i1 proc~grid2dto1d_glo_l3 grid2dTo1d_glo_l3 interface~grid2dto1d_glo->proc~grid2dto1d_glo_l3 proc~grid2dto1d_glo_r2 grid2dTo1d_glo_r2 interface~grid2dto1d_glo->proc~grid2dto1d_glo_r2 proc~bcast_i4 bcast_i4 interface~bcast->proc~bcast_i4 proc~bcast_r bcast_r interface~bcast->proc~bcast_r proc~bcast_r2 bcast_r2 interface~bcast->proc~bcast_r2 proc~bcast_r1 bcast_r1 interface~bcast->proc~bcast_r1 proc~bcast_l2 bcast_l2 interface~bcast->proc~bcast_l2 proc~bcast_r3 bcast_r3 interface~bcast->proc~bcast_r3 proc~bcast_i bcast_i interface~bcast->proc~bcast_i proc~bcast_i1 bcast_i1 interface~bcast->proc~bcast_i1 proc~bcast_l1 bcast_l1 interface~bcast->proc~bcast_l1 proc~bcast_l4 bcast_l4 interface~bcast->proc~bcast_l4 proc~bcast_c bcast_c interface~bcast->proc~bcast_c proc~bcast_i3 bcast_i3 interface~bcast->proc~bcast_i3 proc~bcast_l bcast_l interface~bcast->proc~bcast_l proc~bcast_l3 bcast_l3 interface~bcast->proc~bcast_l3 proc~bcast_i2 bcast_i2 interface~bcast->proc~bcast_i2 proc~bcast_r4 bcast_r4 interface~bcast->proc~bcast_r4 proc~xios_send_field_3d xios_send_field_3d interface~xios_send_field->proc~xios_send_field_3d proc~xios_send_field_4d xios_send_field_4d interface~xios_send_field->proc~xios_send_field_4d proc~xios_send_field_1d xios_send_field_1d interface~xios_send_field->proc~xios_send_field_1d proc~xios_send_field_5d xios_send_field_5d interface~xios_send_field->proc~xios_send_field_5d proc~xios_send_field_2d xios_send_field_2d interface~xios_send_field->proc~xios_send_field_2d proc~xios_send_field_scalar xios_send_field_scalar interface~xios_send_field->proc~xios_send_field_scalar proc~xios_recv_field_4d xios_recv_field_4d interface~xios_recv_field->proc~xios_recv_field_4d proc~xios_recv_field_1d xios_recv_field_1d interface~xios_recv_field->proc~xios_recv_field_1d proc~xios_recv_field_2d xios_recv_field_2d interface~xios_recv_field->proc~xios_recv_field_2d proc~xios_recv_field_3d xios_recv_field_3d interface~xios_recv_field->proc~xios_recv_field_3d proc~xios_recv_field_scalar xios_recv_field_scalar interface~xios_recv_field->proc~xios_recv_field_scalar proc~check_err->proc~abort_physic nf90_strerror nf90_strerror proc~check_err->nf90_strerror proc~scatter_i1 scatter_i1 interface~scatter->proc~scatter_i1 proc~scatter_r scatter_r interface~scatter->proc~scatter_r proc~scatter_r2 scatter_r2 interface~scatter->proc~scatter_r2 proc~scatter_l2 scatter_l2 interface~scatter->proc~scatter_l2 proc~scatter_l3 scatter_l3 interface~scatter->proc~scatter_l3 proc~scatter_i2 scatter_i2 interface~scatter->proc~scatter_i2 proc~scatter_l1 scatter_l1 interface~scatter->proc~scatter_l1 proc~scatter_r3 scatter_r3 interface~scatter->proc~scatter_r3 proc~scatter_i scatter_i interface~scatter->proc~scatter_i proc~scatter_i3 scatter_i3 interface~scatter->proc~scatter_i3 proc~scatter_r1 scatter_r1 interface~scatter->proc~scatter_r1 proc~scatter_l scatter_l interface~scatter->proc~scatter_l interface~bcast_mpi bcast_mpi proc~bcast_i4->interface~bcast_mpi interface~bcast_omp bcast_omp proc~bcast_i4->interface~bcast_omp proc~bcast_r->interface~bcast_mpi proc~bcast_r->interface~bcast_omp proc~bcast_r2->interface~bcast_mpi proc~bcast_r2->interface~bcast_omp proc~bcast_r1->interface~bcast_mpi proc~bcast_r1->interface~bcast_omp proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort proc~scatter_i1->interface~scatter_omp interface~scatter_mpi scatter_mpi proc~scatter_i1->interface~scatter_mpi proc~scatter_r->interface~scatter_omp proc~scatter_r->interface~scatter_mpi proc~scatter_r2->interface~scatter_omp proc~scatter_r2->interface~scatter_mpi proc~scatter_l2->interface~scatter_omp proc~scatter_l2->interface~scatter_mpi proc~scatter_l3->interface~scatter_omp proc~scatter_l3->interface~scatter_mpi proc~bcast_l2->interface~bcast_mpi proc~bcast_l2->interface~bcast_omp proc~bcast_r3->interface~bcast_mpi proc~bcast_r3->interface~bcast_omp proc~bcast_i->interface~bcast_mpi proc~bcast_i->interface~bcast_omp proc~bcast_i1->interface~bcast_mpi proc~bcast_i1->interface~bcast_omp proc~bcast_l1->interface~bcast_mpi proc~bcast_l1->interface~bcast_omp proc~bcast_l4->interface~bcast_mpi proc~bcast_l4->interface~bcast_omp proc~scatter_i2->interface~scatter_omp proc~scatter_i2->interface~scatter_mpi proc~bcast_c->interface~bcast_mpi proc~bcast_c->interface~bcast_omp proc~bcast_i3->interface~bcast_mpi proc~bcast_i3->interface~bcast_omp proc~bcast_l->interface~bcast_mpi proc~bcast_l->interface~bcast_omp proc~scatter_l1->interface~scatter_omp proc~scatter_l1->interface~scatter_mpi proc~scatter_r3->interface~scatter_omp proc~scatter_r3->interface~scatter_mpi proc~bcast_l3->interface~bcast_mpi proc~bcast_l3->interface~bcast_omp proc~bcast_i2->interface~bcast_mpi proc~bcast_i2->interface~bcast_omp proc~bcast_r4->interface~bcast_mpi proc~bcast_r4->interface~bcast_omp proc~scatter_i->interface~scatter_omp proc~scatter_i->interface~scatter_mpi proc~scatter_i3->interface~scatter_omp proc~scatter_i3->interface~scatter_mpi proc~scatter_r1->interface~scatter_omp proc~scatter_r1->interface~scatter_mpi proc~scatter_l->interface~scatter_omp proc~scatter_l->interface~scatter_mpi proc~bcast_mpi_c bcast_mpi_c interface~bcast_mpi->proc~bcast_mpi_c proc~bcast_mpi_l4 bcast_mpi_l4 interface~bcast_mpi->proc~bcast_mpi_l4 proc~bcast_mpi_i bcast_mpi_i interface~bcast_mpi->proc~bcast_mpi_i proc~bcast_mpi_i1 bcast_mpi_i1 interface~bcast_mpi->proc~bcast_mpi_i1 proc~bcast_mpi_l bcast_mpi_l interface~bcast_mpi->proc~bcast_mpi_l proc~bcast_mpi_l3 bcast_mpi_l3 interface~bcast_mpi->proc~bcast_mpi_l3 proc~bcast_mpi_r3 bcast_mpi_r3 interface~bcast_mpi->proc~bcast_mpi_r3 proc~bcast_mpi_i4 bcast_mpi_i4 interface~bcast_mpi->proc~bcast_mpi_i4 proc~bcast_mpi_i3 bcast_mpi_i3 interface~bcast_mpi->proc~bcast_mpi_i3 proc~bcast_mpi_r1 bcast_mpi_r1 interface~bcast_mpi->proc~bcast_mpi_r1 proc~bcast_mpi_l1 bcast_mpi_l1 interface~bcast_mpi->proc~bcast_mpi_l1 proc~bcast_mpi_r2 bcast_mpi_r2 interface~bcast_mpi->proc~bcast_mpi_r2 proc~bcast_mpi_r4 bcast_mpi_r4 interface~bcast_mpi->proc~bcast_mpi_r4 proc~bcast_mpi_r bcast_mpi_r interface~bcast_mpi->proc~bcast_mpi_r proc~bcast_mpi_l2 bcast_mpi_l2 interface~bcast_mpi->proc~bcast_mpi_l2 proc~bcast_mpi_i2 bcast_mpi_i2 interface~bcast_mpi->proc~bcast_mpi_i2 proc~scatter_mpi_i1 scatter_mpi_i1 interface~scatter_mpi->proc~scatter_mpi_i1 proc~scatter_mpi_r3 scatter_mpi_r3 interface~scatter_mpi->proc~scatter_mpi_r3 proc~scatter_mpi_r1 scatter_mpi_r1 interface~scatter_mpi->proc~scatter_mpi_r1 proc~scatter_mpi_r scatter_mpi_r interface~scatter_mpi->proc~scatter_mpi_r proc~scatter_mpi_l scatter_mpi_l interface~scatter_mpi->proc~scatter_mpi_l proc~scatter_mpi_l1 scatter_mpi_l1 interface~scatter_mpi->proc~scatter_mpi_l1 proc~scatter_mpi_i scatter_mpi_i interface~scatter_mpi->proc~scatter_mpi_i proc~scatter_mpi_r2 scatter_mpi_r2 interface~scatter_mpi->proc~scatter_mpi_r2 proc~scatter_mpi_i3 scatter_mpi_i3 interface~scatter_mpi->proc~scatter_mpi_i3 proc~scatter_mpi_i2 scatter_mpi_i2 interface~scatter_mpi->proc~scatter_mpi_i2 proc~scatter_mpi_l2 scatter_mpi_l2 interface~scatter_mpi->proc~scatter_mpi_l2 proc~scatter_mpi_l3 scatter_mpi_l3 interface~scatter_mpi->proc~scatter_mpi_l3 proc~bcast_mpi_cgen bcast_mpi_cgen proc~bcast_mpi_c->proc~bcast_mpi_cgen proc~bcast_mpi_lgen bcast_mpi_lgen proc~bcast_mpi_l4->proc~bcast_mpi_lgen proc~scatter_mpi_igen scatter_mpi_igen proc~scatter_mpi_i1->proc~scatter_mpi_igen proc~scatter_mpi_rgen scatter_mpi_rgen proc~scatter_mpi_r3->proc~scatter_mpi_rgen proc~bcast_mpi_igen bcast_mpi_igen proc~bcast_mpi_i->proc~bcast_mpi_igen proc~bcast_mpi_i1->proc~bcast_mpi_igen proc~bcast_mpi_l->proc~bcast_mpi_lgen proc~bcast_mpi_l3->proc~bcast_mpi_lgen proc~scatter_mpi_r1->proc~scatter_mpi_rgen proc~scatter_mpi_r->proc~scatter_mpi_rgen proc~bcast_mpi_rgen bcast_mpi_rgen proc~bcast_mpi_r3->proc~bcast_mpi_rgen proc~scatter_mpi_lgen scatter_mpi_lgen proc~scatter_mpi_l->proc~scatter_mpi_lgen proc~bcast_mpi_i4->proc~bcast_mpi_igen proc~bcast_mpi_i3->proc~bcast_mpi_igen proc~bcast_mpi_r1->proc~bcast_mpi_rgen proc~bcast_mpi_l1->proc~bcast_mpi_lgen proc~scatter_mpi_l1->proc~scatter_mpi_lgen proc~scatter_mpi_i->proc~scatter_mpi_igen proc~scatter_mpi_r2->proc~scatter_mpi_rgen proc~bcast_mpi_r2->proc~bcast_mpi_rgen proc~bcast_mpi_r4->proc~bcast_mpi_rgen proc~scatter_mpi_i3->proc~scatter_mpi_igen proc~bcast_mpi_r->proc~bcast_mpi_rgen proc~bcast_mpi_l2->proc~bcast_mpi_lgen proc~scatter_mpi_i2->proc~scatter_mpi_igen proc~scatter_mpi_l2->proc~scatter_mpi_lgen proc~bcast_mpi_i2->proc~bcast_mpi_igen proc~scatter_mpi_l3->proc~scatter_mpi_lgen proc~mpi_bcast MPI_BCAST proc~bcast_mpi_cgen->proc~mpi_bcast proc~bcast_mpi_igen->proc~mpi_bcast proc~mpi_scatterv MPI_SCATTERV proc~scatter_mpi_rgen->proc~mpi_scatterv proc~bcast_mpi_rgen->proc~mpi_bcast proc~scatter_mpi_lgen->proc~mpi_scatterv proc~scatter_mpi_igen->proc~mpi_scatterv proc~bcast_mpi_lgen->proc~mpi_bcast proc~mpi_bcast->proc~lmdz_mpi_wrapper_abort proc~mpi_scatterv->proc~lmdz_mpi_wrapper_abort

Called by

proc~~get_aero_fromfile~~CalledByGraph proc~get_aero_fromfile get_aero_fromfile proc~readaerosol readaerosol proc~readaerosol->proc~get_aero_fromfile proc~readaerosol_interp readaerosol_interp proc~readaerosol_interp->proc~readaerosol proc~readaerosol_interp~2 readaerosol_interp proc~readaerosol_interp~2->proc~readaerosol proc~readaerosol_optic_rrtm readaerosol_optic_rrtm proc~readaerosol_optic_rrtm->proc~readaerosol_interp proc~readaerosol_optic~2 readaerosol_optic proc~readaerosol_optic~2->proc~readaerosol_interp proc~readaerosol_optic_ecrad~2 readaerosol_optic_ecrad proc~readaerosol_optic_ecrad~2->proc~readaerosol_interp proc~readaerosol_optic_ecrad readaerosol_optic_ecrad proc~readaerosol_optic_ecrad->proc~readaerosol_interp proc~readaerosol_optic readaerosol_optic proc~readaerosol_optic->proc~readaerosol_interp proc~readaerosol_optic_rrtm~2 readaerosol_optic_rrtm proc~readaerosol_optic_rrtm~2->proc~readaerosol_interp proc~physiq physiq proc~physiq->proc~readaerosol_optic proc~physiq~2 physiq proc~physiq~2->proc~readaerosol_optic proc~old_lmdz1d old_lmdz1d proc~old_lmdz1d->proc~physiq proc~call_physiq call_physiq proc~call_physiq->proc~physiq proc~call_physiq~2 call_physiq proc~call_physiq~2->proc~physiq proc~scm scm proc~scm->proc~physiq program~lmdz1d lmdz1d program~lmdz1d->proc~old_lmdz1d program~lmdz1d->proc~scm proc~calfis calfis proc~calfis->proc~call_physiq proc~leapfrog leapfrog proc~leapfrog->proc~calfis program~gcm~2 gcm program~gcm~2->proc~leapfrog

Contents