assert_eq_m.f90 Source File


Files dependent on this one

sourcefile~~assert_eq_m.f90~~AfferentGraph sourcefile~assert_eq_m.f90 assert_eq_m.f90 sourcefile~grid_noro_m.f90 grid_noro_m.f90 sourcefile~grid_noro_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr1_lint_m.f90 regr1_lint_m.f90 sourcefile~regr1_lint_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr1_step_av_m.f90 regr1_step_av_m.f90 sourcefile~regr1_step_av_m.f90->sourcefile~assert_eq_m.f90 sourcefile~dynetat0.f90 dynetat0.f90 sourcefile~dynetat0.f90->sourcefile~assert_eq_m.f90 sourcefile~grid_noro_m.f90~2 grid_noro_m.f90 sourcefile~grid_noro_m.f90~2->sourcefile~assert_eq_m.f90 sourcefile~regr_lat_time_coefoz_m.f90 regr_lat_time_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_lint_m.f90 regr_lint_m.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~regr_lint_m.f90 sourcefile~regr_conserv_m.f90 regr_conserv_m.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2 regr_lat_time_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~assert_eq_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr1_step_av_m.f90~2 regr1_step_av_m.f90 sourcefile~regr1_step_av_m.f90~2->sourcefile~assert_eq_m.f90 sourcefile~etat0phys_netcdf.f90 etat0phys_netcdf.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~assert_eq_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~grid_noro_m.f90 sourcefile~conf_dat_m.f90 conf_dat_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~conf_dat_m.f90 sourcefile~inter_barxy_m.f90 inter_barxy_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~regr_horiz_time_climoz_m.f90 regr_horiz_time_climoz_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~init_ssrf_m.f90 init_ssrf_m.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~init_ssrf_m.f90 sourcefile~pchfe_95_m.f90 pchfe_95_m.f90 sourcefile~pchfe_95_m.f90->sourcefile~assert_eq_m.f90 sourcefile~tropopause_m.f90~2 tropopause_m.f90 sourcefile~tropopause_m.f90~2->sourcefile~assert_eq_m.f90 sourcefile~pchsp_95_m.f90 pchsp_95_m.f90 sourcefile~pchsp_95_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_pr_time_av_m.f90~2 regr_pr_time_av_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~assert_eq_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~regr_pr_time_av_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~grid_atob_m.f90 grid_atob_m.f90 sourcefile~grid_atob_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr3_lint_m.f90 regr3_lint_m.f90 sourcefile~regr3_lint_m.f90->sourcefile~assert_eq_m.f90 sourcefile~tropopause_m.f90 tropopause_m.f90 sourcefile~tropopause_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_pr_av_m.f90 regr_pr_av_m.f90 sourcefile~regr_pr_av_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr1_conserv_m.f90 regr1_conserv_m.f90 sourcefile~regr_pr_av_m.f90->sourcefile~regr1_conserv_m.f90 sourcefile~regr_lint_m.f90->sourcefile~assert_eq_m.f90 sourcefile~conf_dat_m.f90->sourcefile~assert_eq_m.f90 sourcefile~etat0dyn_netcdf.f90 etat0dyn_netcdf.F90 sourcefile~etat0dyn_netcdf.f90->sourcefile~assert_eq_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~regr_lat_time_coefoz_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~pchfe_95_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~pchsp_95_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~conf_dat_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~regr_pr_o3_m.f90 regr_pr_o3_m.f90 sourcefile~etat0dyn_netcdf.f90->sourcefile~regr_pr_o3_m.f90 sourcefile~dynetat0_loc.f90 dynetat0_loc.f90 sourcefile~dynetat0_loc.f90->sourcefile~assert_eq_m.f90 sourcefile~inter_barxy_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_pr_time_av_m.f90 regr_pr_time_av_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~regr_lint_m.f90 sourcefile~regr_pr_time_av_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~limit_netcdf.f90 limit_netcdf.F90 sourcefile~limit_netcdf.f90->sourcefile~assert_eq_m.f90 sourcefile~limit_netcdf.f90->sourcefile~grid_noro_m.f90 sourcefile~limit_netcdf.f90->sourcefile~pchfe_95_m.f90 sourcefile~limit_netcdf.f90->sourcefile~pchsp_95_m.f90 sourcefile~limit_netcdf.f90->sourcefile~conf_dat_m.f90 sourcefile~limit_netcdf.f90->sourcefile~inter_barxy_m.f90 sourcefile~limit_netcdf.f90->sourcefile~init_ssrf_m.f90 sourcefile~regr1_conserv_m.f90->sourcefile~assert_eq_m.f90 sourcefile~regr_conserv_m.f90->sourcefile~assert_eq_m.f90 sourcefile~create_limit_unstruct_mod.f90~2 create_limit_unstruct_mod.f90 sourcefile~create_limit_unstruct_mod.f90~2->sourcefile~pchfe_95_m.f90 sourcefile~create_limit_unstruct_mod.f90~2->sourcefile~pchsp_95_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2 regr_horiz_time_climoz_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~regr_pr_o3_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~physiq_mod.f90~2 physiq_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~tropopause_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~regr_pr_time_av_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~create_etat0_limit_unstruct_mod.f90 create_etat0_limit_unstruct_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~create_etat0_limit_unstruct_mod.f90 sourcefile~phytrac_mod.f90 phytrac_mod.f90 sourcefile~physiq_mod.f90~2->sourcefile~phytrac_mod.f90 sourcefile~phyetat0_mod.f90 phyetat0_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~phys_output_write_mod.f90 phys_output_write_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~physiqex_mod.f90 physiqex_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~physiqex_mod.f90 sourcefile~diag_slp.f90 diag_slp.f90 sourcefile~physiq_mod.f90~2->sourcefile~diag_slp.f90 sourcefile~phys_output_mod.f90 phys_output_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~phys_output_mod.f90 sourcefile~ce0l.f90 ce0l.F90 sourcefile~ce0l.f90->sourcefile~etat0phys_netcdf.f90 sourcefile~ce0l.f90->sourcefile~etat0dyn_netcdf.f90 sourcefile~ce0l.f90->sourcefile~limit_netcdf.f90 sourcefile~create_limit_unstruct_mod.f90 create_limit_unstruct_mod.f90 sourcefile~create_limit_unstruct_mod.f90->sourcefile~pchfe_95_m.f90 sourcefile~create_limit_unstruct_mod.f90->sourcefile~pchsp_95_m.f90 sourcefile~physiq_mod.f90 physiq_mod.F90 sourcefile~physiq_mod.f90->sourcefile~tropopause_m.f90 sourcefile~physiq_mod.f90->sourcefile~regr_pr_time_av_m.f90 sourcefile~physiq_mod.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~physiq_mod.f90->sourcefile~create_etat0_limit_unstruct_mod.f90 sourcefile~physiq_mod.f90->sourcefile~phytrac_mod.f90 sourcefile~physiq_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~physiq_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~physiq_mod.f90->sourcefile~physiqex_mod.f90 sourcefile~physiq_mod.f90->sourcefile~diag_slp.f90 sourcefile~physiq_mod.f90->sourcefile~phys_output_mod.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~regr_lint_m.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~regr_conserv_m.f90 sourcefile~regr_pr_int_m.f90 regr_pr_int_m.f90 sourcefile~regr_pr_int_m.f90->sourcefile~regr_lint_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2 regr_pr_comb_coefoz_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2->sourcefile~regr_pr_time_av_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90~2->sourcefile~regr_pr_int_m.f90 sourcefile~regr_pr_o3_m.f90~2 regr_pr_o3_m.f90 sourcefile~regr_pr_o3_m.f90~2->sourcefile~regr_conserv_m.f90 sourcefile~init_ssrf_m.f90->sourcefile~grid_atob_m.f90 sourcefile~regr_pr_int_m.f90~2 regr_pr_int_m.f90 sourcefile~regr_pr_int_m.f90~2->sourcefile~regr_lint_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90 regr_pr_comb_coefoz_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90->sourcefile~regr_pr_time_av_m.f90 sourcefile~regr_pr_comb_coefoz_m.f90->sourcefile~regr_pr_int_m.f90 sourcefile~regr_lat_time_climoz_m.f90 regr_lat_time_climoz_m.f90 sourcefile~regr_lat_time_climoz_m.f90->sourcefile~regr3_lint_m.f90 sourcefile~regr_lat_time_climoz_m.f90->sourcefile~regr1_conserv_m.f90 sourcefile~old_lmdz1d.f90 old_lmdz1d.f90 sourcefile~old_lmdz1d.f90->sourcefile~physiq_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90~2 create_etat0_limit_unstruct_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90~2->sourcefile~create_limit_unstruct_mod.f90 sourcefile~traclmdz_mod.f90 traclmdz_mod.f90 sourcefile~traclmdz_mod.f90->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~o3_chem_m.f90 o3_chem_m.f90 sourcefile~traclmdz_mod.f90->sourcefile~o3_chem_m.f90 sourcefile~traclmdz_mod.f90~2 traclmdz_mod.f90 sourcefile~traclmdz_mod.f90~2->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~traclmdz_mod.f90~2->sourcefile~o3_chem_m.f90 sourcefile~callphysiq_mod.f90~2 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90~2->sourcefile~physiq_mod.f90 sourcefile~create_etat0_limit_unstruct_mod.f90->sourcefile~create_limit_unstruct_mod.f90 sourcefile~o3_chem_m.f90->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~o3_chem_m.f90~2 o3_chem_m.f90 sourcefile~o3_chem_m.f90~2->sourcefile~regr_pr_comb_coefoz_m.f90 sourcefile~scm.f90 scm.f90 sourcefile~scm.f90->sourcefile~physiq_mod.f90 sourcefile~callphysiq_mod.f90 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90->sourcefile~physiq_mod.f90 sourcefile~lsc_scav.f90 lsc_scav.f90 sourcefile~lsc_scav.f90->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_orig.f90~2 lsc_scav_orig.f90 sourcefile~lsc_scav_orig.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~calfis.f90 calfis.f90 sourcefile~calfis.f90->sourcefile~callphysiq_mod.f90 sourcefile~phytrac_mod.f90->sourcefile~traclmdz_mod.f90 sourcefile~cltracrn.f90~2 cltracrn.f90 sourcefile~cltracrn.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~phyredem.f90 phyredem.F90 sourcefile~phyredem.f90->sourcefile~traclmdz_mod.f90 sourcefile~initrrnpb.f90 initrrnpb.f90 sourcefile~initrrnpb.f90->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_orig.f90 lsc_scav_orig.f90 sourcefile~lsc_scav_orig.f90->sourcefile~traclmdz_mod.f90 sourcefile~phyetat0_mod.f90->sourcefile~traclmdz_mod.f90 sourcefile~radio_decay.f90 radio_decay.f90 sourcefile~radio_decay.f90->sourcefile~traclmdz_mod.f90 sourcefile~initrrnpb.f90~2 initrrnpb.f90 sourcefile~initrrnpb.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_spl.f90 lsc_scav_spl.f90 sourcefile~lsc_scav_spl.f90->sourcefile~traclmdz_mod.f90 sourcefile~phytrac_mod.f90~2 phytrac_mod.f90 sourcefile~phytrac_mod.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~radio_decay.f90~2 radio_decay.f90 sourcefile~radio_decay.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav_spl.f90~2 lsc_scav_spl.f90 sourcefile~lsc_scav_spl.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~lsc_scav.f90~2 lsc_scav.f90 sourcefile~lsc_scav.f90~2->sourcefile~traclmdz_mod.f90 sourcefile~cltracrn.f90 cltracrn.f90 sourcefile~cltracrn.f90->sourcefile~traclmdz_mod.f90 sourcefile~phys_output_write_mod.f90->sourcefile~phytrac_mod.f90 sourcefile~physiqex_mod.f90~2 physiqex_mod.F90 sourcefile~physiqex_mod.f90~2->sourcefile~phyetat0_mod.f90 sourcefile~phys_output_write_mod.f90~2 phys_output_write_mod.F90 sourcefile~phys_output_write_mod.f90~2->sourcefile~phytrac_mod.f90 sourcefile~physiqex_mod.f90->sourcefile~phyetat0_mod.f90 sourcefile~diag_slp.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_mod.f90->sourcefile~phys_output_write_mod.f90 sourcefile~phys_output_mod.f90~2 phys_output_mod.F90 sourcefile~phys_output_mod.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~diag_slp.f90~2 diag_slp.f90 sourcefile~diag_slp.f90~2->sourcefile~phys_output_write_mod.f90 sourcefile~recmwf_aero.f90 recmwf_aero.F90 sourcefile~recmwf_aero.f90->sourcefile~phys_output_mod.f90 sourcefile~recmwf_aero.f90~2 recmwf_aero.F90 sourcefile~recmwf_aero.f90~2->sourcefile~phys_output_mod.f90 sourcefile~sw_aeroar4.f90 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90->sourcefile~phys_output_mod.f90 sourcefile~sw_aeroar4.f90~2 sw_aeroAR4.f90 sourcefile~sw_aeroar4.f90~2->sourcefile~phys_output_mod.f90

Contents

Source Code


Source Code

! $Id$
MODULE assert_eq_m

  implicit none

  INTERFACE assert_eq
     MODULE PROCEDURE assert_eq2,assert_eq3,assert_eq4,assert_eqn
  END INTERFACE

  private assert_eq2,assert_eq3,assert_eq4,assert_eqn

CONTAINS

  FUNCTION assert_eq2(n1,n2,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    INTEGER, INTENT(IN) :: n1,n2
    INTEGER  assert_eq2
    if (n1 == n2) then
       assert_eq2=n1
    else
       write (*,*) 'nrerror: an assert_eq failed with this tag: ', &
            string
       print *, 'program terminated by assert_eq2'
       stop 1
    end if
  END FUNCTION assert_eq2
  !BL
  FUNCTION assert_eq3(n1,n2,n3,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    INTEGER, INTENT(IN) :: n1,n2,n3
    INTEGER  assert_eq3
    if (n1 == n2 .and. n2 == n3) then
       assert_eq3=n1
    else
       write (*,*) 'nrerror: an assert_eq failed with this tag: ', &
            string
       print *, 'program terminated by assert_eq3'
       stop 1
    end if
  END FUNCTION assert_eq3
  !BL
  FUNCTION assert_eq4(n1,n2,n3,n4,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    INTEGER, INTENT(IN) :: n1,n2,n3,n4
    INTEGER  assert_eq4
    if (n1 == n2 .and. n2 == n3 .and. n3 == n4) then
       assert_eq4=n1
    else
       write (*,*) 'nrerror: an assert_eq failed with this tag: ', &
            string,n1,n2,n3,n4
       print *, 'program terminated by assert_eq4'
       stop 1
    end if
  END FUNCTION assert_eq4
  !BL
  FUNCTION assert_eqn(nn,string)
    CHARACTER(LEN=*), INTENT(IN) :: string
    INTEGER, DIMENSION(:), INTENT(IN) :: nn
    INTEGER  assert_eqn
    if (all(nn(2:) == nn(1))) then
       assert_eqn=nn(1)
    else
       write (*,*) 'nrerror: an assert_eq failed with this tag: ', &
            string
       print *, 'program terminated by assert_eqn'
       stop 1
    end if
  END FUNCTION assert_eqn

END MODULE assert_eq_m